Android:从对话框启动新活动

时间:2011-01-12 22:05:12

标签: android dialog android-activity

我正在尝试使用自定义对话框来获取标题字符串的用户输入,然后如果用户单击“确定”,它将启动一个新的活动(基本上是记事本),标题为String。但是,当我尝试在onClick()中调用触发新活动的方法时,它会给我一个错误。

这是代码

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

1 个答案:

答案 0 :(得分:0)

据我所知,应用程序的适配器(数据)部分存在问题。无论您使用什么Adapter类来支持com.jin.inventoryapp.ListEdit,它都会在访问数据时遇到问题。即如果您使用数组或数据库填充ListView,请先检查那里。

This有助于弄清楚谁在抛出异常。