2011-01-12 29 views
0

我试图使用自定义对话框来获取标题字符串的用户输入,然后如果用户点击确定,它会启动一个新的活动(基本上是一个记事本)标题字符串作为标题。但是,当我尝试调用onClick()内部触发新活动的方法时,它会给我一个错误。Android:从对话框启动新的活动

下面的代码

class NewListDialog extends Dialog implements OnClickListener { 

     Button search; 
     EditText text; 

     public NewListDialog(Context context) { 
      super(context); 
      requestWindowFeature(Window.FEATURE_NO_TITLE); 
      setContentView(R.layout.newlist_dialog); 
      search = (Button) findViewById(R.id.dialog_confirm); 
      text = (EditText) findViewById(R.id.dialog_editable); 
      search.setOnClickListener(this); 
     } 

     @Override 
     public void onClick(View v) { 
      if (v == search) { 
       String title_name = text.getText().toString(); 

         // method for launching new activity 
       fireListEdit(title_name); 
      } 
     } 

}

void fireListEdit(String title_name) { 
     Intent i = new Intent(this, ListEdit.class); 
     i.putExtra(InvenDB.KEY_TITLE, title_name); 
     startActivityForResult(i, ACTIVITY_CREATE); 
} 

而且我把这种对话与

@Override 
public boolean onMenuItemSelected(int featureId, MenuItem item) { 
    switch(item.getItemId()) { 
    case INSERT_ID: 
     NewListDialog dialog = new NewListDialog(this); 
     dialog.show(); 
     return true; 
    case QUIT_ID: 
     finish(); 
     return true; 
    } 
    return super.onMenuItemSelected(featureId, item); 
} 

编辑:当我在模拟器中运行它,当我点击确定自定义对话框只是给我“应用程序意外停止”错误

编辑:

这是logcat的,我真的不知道他们是什么意思:\

01-12 17:39:27.668:ERROR/AndroidRuntime(426):了java.lang.RuntimeException :无法启动活动ComponentInfo {com.jin.inventoryapp/com.jin.inventoryapp.ListEdit}:android.database.CursorIndexOutOfBoundsException:指数0请求,大小为0

+0

你不告诉我们是什么错误,或者你是如何试图启动新的活动 – Falmarri 2011-01-12 22:11:39

+0

对不起,当我在模拟器上运行它,当我点击自定义对话框OK它只是给我“的应用程序停止意外“错误 – Jin 2011-01-12 22:13:11

回答

0

从我可以告诉有问题与适配器(数据)一部分的应用程序。无论您使用什么Adapter类来备份您的com.jin.inventoryapp.ListEdit,它在访问数据时都有问题。即如果您正在使用数组或数据库来填充ListView,请先在那里检查。

This对找出谁抛出异常很有用。