对话框 - 在编辑文本中访问值的问题

时间:2011-12-14 02:31:56

标签: android dialog nullpointerexception

我在一个对话框中有一个EditText,用户将在其中输入一个新类别。但是,当我尝试访问EditText中的值时 - 我得到nullpointer异常。

执行过程。

有一个类别的微调器 当用户从微调器中选择新的类别时,会向用户显示一个对话框。

对话框的代码如下:

   //check if spCategories == new category
   if( arg0.getSelectedItem().toString().equals("New Category")) {
   //Show dialog box for adding new category
     Dialog dialog = new Dialog(AddTransaction.this);
     dialog.setContentView(R.layout.newcategory);
     dialog.setTitle("New Category");
     dialog.setCancelable(true);
     dialog.show();

     Button btnAddCat = (Button) dialog.findViewById(R.id.btnAddCategory);
     final EditText etCategory = (EditText) findViewById(R.id.etNewCategory);

     btnAddCat.setOnClickListener(new View.OnClickListener() {

     @Override
     public void onClick(View arg0) {
       **Log.v("EXT", "Category type is : " + etCategory.getText());**
     } 
                        }
     });

我在粗线

时得到NullPointer异常

任何想法。 Dialog的布局在XML文件中定义。

1 个答案:

答案 0 :(得分:1)

该行:

final EditText etCategory = (EditText) findViewById(R.id.etNewCategory);

错了,你必须改变它:

final EditText etCategory = (EditText) dialog.findViewById(R.id.etNewCategory);

没有“对话框”。您正在活动布局中搜索该视图而不是对话框。