Android 活动类与java类之间的通信
我有一个java文件和一个活动类文件。在activity类中,我有一个Textview。如何更改java类中的textview文本Android 活动类与java类之间的通信,android,Android,我有一个java文件和一个活动类文件。在activity类中,我有一个Textview。如何更改java类中的textview文本 public void sendMessageforstatus(String status) { if(status.contains("Door is open")) { ds.updatedoor("open"); } else if(status.equal
public void sendMessageforstatus(String status)
{
if(status.contains("Door is open"))
{
ds.updatedoor("open");
}
else if(status.equalsIgnoreCase("Door is close"))
{
ds.updatedoor("close");
}
}
activityname.textviewname.setText("blahblah");
这是java文件中的逻辑现在我想更新另一个activity类中的Textview中的文本
public void sendMessageforstatus(String status)
{
if(status.contains("Door is open"))
{
tdoor.setText("OPEN");
}
else if(status.equalsIgnoreCase("Door is close"))
{
tdoor.setText("CLOSE");
}
这是活动类中的代码方法,但当我尝试此方法时,我得到了NULLpointerException
u plzz能帮我吗?将文本视图抽象化,然后从java类中尝试这段代码
public void sendMessageforstatus(String status)
{
if(status.contains("Door is open"))
{
ds.updatedoor("open");
}
else if(status.equalsIgnoreCase("Door is close"))
{
ds.updatedoor("close");
}
}
activityname.textviewname.setText("blahblah");
将
TextView
传递给您的Java类,然后您可以在内部使用它。不知道您的非活动类在您的设计/架构中是如何存在的,我们无法真正回答您的问题。另外,所有的类都是Java类。尝试使用接口对象您将得到一个NullPointerException,因为有些东西没有初始化。可能是因为您不能直接从其他类“访问活动视图”,让活动类负责UI,“业务逻辑”类负责业务逻辑。我认为,在下面的回答中,您得到了一些不好的建议,建议从业务逻辑代码中搞乱UI。“logic”类可以调用Activity类中的一个方法,让Activity知道需要更新什么以及如何在UI上更新。然后,如果以后更改UI,则不需要修改业务逻辑类,因为它是“UI不可知的”。(是的,我知道这些都是琐碎和基本的,但值得一提。)