Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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
java.lang.NullPointerException试图从其他活动发布_Java_Android_Listview_Android Listview - Fatal编程技术网

java.lang.NullPointerException试图从其他活动发布

java.lang.NullPointerException试图从其他活动发布,java,android,listview,android-listview,Java,Android,Listview,Android Listview,我知道上面的问题已经被问过好几次了。前面回答的线程没有为我提供解决方案 我试图做的是单击我的listview,因为我用对话框主题设置了样式 当我启动活动时,它将显示为一个对话框。在对话框中,我应用了listview 我用SQLLite数据填充listview 我现在想做的是。我想检索arraylist数据。选择后,我成功获取了listview数据 但是在我的主要活动的listview中设置文本时。 甚至有: EditText Messages = (EditText) findviewbyid(

我知道上面的问题已经被问过好几次了。前面回答的线程没有为我提供解决方案

我试图做的是单击我的listview,因为我用对话框主题设置了样式

当我启动活动时,它将显示为一个对话框。在对话框中,我应用了listview

我用SQLLite数据填充listview

我现在想做的是。我想检索arraylist数据。选择后,我成功获取了listview数据

但是在我的主要活动的listview中设置文本时。 甚至有:

EditText Messages = (EditText) findviewbyid(R.id.Messages);
Messages.setText(arr.get(i).tostring); <--------

通常,在调用
setContentView()之前尝试访问视图时会出现此问题。在尝试使用
findViewById()
之前,请确保已调用该函数


当然,没有所有的代码很难确定。我解决了自己的问题=是啊!~~~~~感谢mattfred告诉我使用intent

意向指引链接:

来吧

在列表视图的onclicklistener中的my listData活动上

  Intent i = new Intent(listData.this, MainActivity.class);
            String strName = array_list.get(position).toString();
            i.putExtra("STRING_I_NEED", strName);
            startActivity(i);
关于onCreate方法中的main活动

 String newString;
    if (savedInstanceState == null) {
        Bundle extras = getIntent().getExtras();
        if(extras == null) {
            newString= null;
        } else {
            newString= extras.getString("STRING_I_NEED");
        }
    } else {
        newString= (String) savedInstanceState.getSerializable("STRING_I_NEED");
    }
在主活动的setContentView下面插入此代码

 try{
        Messages = (EditText)findViewById(R.id.Messages);
        Messages.setText(newString);
    }catch(NullPointerException e){}
它有它的缺陷,但它可以运行我的消息保护程序=D Weeeeeee xD

下面是截图


不应该是
Messages.setText(arr.get(i.toString())是的,我在评论中补充了,很抱歉我漏掉了,谢谢你指出了这一点。你在什么地方有一个
append
调用吗?是的,实际上我打了append,我也试着设置文本。这两种方法都不奏效。如果我试图在另一个活动中发布文本,该怎么办。它为对话框而不是主对话框设置了视图。这意味着我试图发布对话框活动中的文本,该文本显示单击后的所有listview数据。单击该文本将为我的主要活动设置文本。我确信我在findviewbyid之前设置的内容视图。只是内容视图集是为对话框而不是主对话框设置的。但是消息是在main中设置的,而不是在dialog中。如果您试图将文本发送到其他活动,则可能需要通过Intent发送。您将无法直接从其他活动访问视图元素。^^。让我的申请生效是件令人高兴的事@IntelliJAmiya
 try{
        Messages = (EditText)findViewById(R.id.Messages);
        Messages.setText(newString);
    }catch(NullPointerException e){}