Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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 当我按下按钮从对话框返回活动时,我的应用程序不断崩溃_Android_Android Dialog - Fatal编程技术网

Android 当我按下按钮从对话框返回活动时,我的应用程序不断崩溃

Android 当我按下按钮从对话框返回活动时,我的应用程序不断崩溃,android,android-dialog,Android,Android Dialog,问题源于可单击的确定按钮。当我点击按钮时(在编辑文本中存在/不存在文本和数字的情况下),应用程序停止工作。我似乎找不到这个错误的来源。我仔细检查了正在初始化的变量,问题似乎并不是由此产生的。有人能帮忙吗 代码如下: public void mInput(View view){ final Dialog dialogManualInput = new Dialog(this); dialogManualInput.setContentView(R.layout.dialog_A

问题源于可单击的确定按钮。当我点击按钮时(在编辑文本中存在/不存在文本和数字的情况下),应用程序停止工作。我似乎找不到这个错误的来源。我仔细检查了正在初始化的变量,问题似乎并不是由此产生的。有人能帮忙吗

代码如下:

public void mInput(View view){
     final Dialog dialogManualInput = new Dialog(this);
     dialogManualInput.setContentView(R.layout.dialog_A);
     dialogManualInput.setTitle("Title");

     et1 = (EditText) dialogManualInput.findViewById(R.id.item);
     et2 = (EditText) dialogManualInput.findViewById(R.id.price);
     et3 = (EditText) dialogManualInput.findViewById(R.id.quantity);

     m_adapter = new ArrayAdapter<String>(this,R.layout.activity_A,m_listItems);
     checkoutList = (ListView)findViewById(R.id.listview);
     checkoutList.setAdapter(m_adapter);

     dialogManualInput.show();

     Button okButton = (Button) dialogManualInput.findViewById(R.id.ok);
     okButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        String input_1 = et1.getText().toString();
        String input_2 = et2.getText().toString();
        String input_3 = et3.getText().toString();
        int int_1 = Integer.valueOf(et3);
        int int_2 = Integer.valueOf(et2);
        String input = "("+et2+")  " + et1 +"   "+ (int_1*int_2);
        if((null!=input_1)&&(null!=input_2)&&(null!=input_3)){
           m_listItems.add(input);
           m_adapter.notifyDataSetChanged();
        }
        dialogManualInput.dismiss();
      }
  });
}

编辑1:

从Logcat看来,问题是

 m_adapter = new ArrayAdapter<String>(this,R.layout.activity_A,m_listItems);
 checkoutList = (ListView)findViewById(R.id.listview);
 checkoutList.setAdapter(m_adapter);
如果et1、et2、et3的NPE未正常初始化

分析这些中的异常(如果您没有填充editText,则它必须抛出异常)


问题可能在于您的布局。显示此XML文件“R.layout.activity_A”或者查看一下。

请发布日志。我已经编辑并包含了日志。我打算用它将文本从编辑文本传递到ListView@user2766109选中编辑1仅当您正在传递布局id时,但它应该是列表中的TextView idview@user2766109一切正常,只需从布局它将显示为您预期的结果我已经尝试了一些级别的测试,似乎这行代码是崩溃的主要原因:
m_listItems.add(input)
No mate正如我所说更改你的id否则你会对这一行感到困惑它尝试添加文本调用adapter将文本与ListView的TextView绑定它从你给定的id中选择id这是一个布局而不是文本你必须有一个ListView的布局,其中可能有一个TextView,你应该作为id提供,但是你给出的布局id完全错误,导致崩溃,如果你不这样做;我不相信你想做什么就做什么
 m_adapter = new ArrayAdapter<String>(this,R.layout.activity_A,m_listItems);
 checkoutList = (ListView)findViewById(R.id.listview);
 checkoutList.setAdapter(m_adapter);
 ArrayAdapter<String>(this,R.layout.activity_A,m_listItems);
 ArrayAdapter<String>(this,R.layout.activity_A,R.id.textView01);
    String input = "("+et2+")  " + et1 +"   "+ (int_1*int_2);
    int int_1 = Integer.valueOf(et3);
    int int_2 = Integer.valueOf(et2);