Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 活动类与java类之间的通信_Android - Fatal编程技术网

Android 活动类与java类之间的通信

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

我有一个java文件和一个活动类文件。在activity类中,我有一个Textview。如何更改java类中的textview文本

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不可知的”。(是的,我知道这些都是琐碎和基本的,但值得一提。)