我正在尝试使用自定义对话框来获取标题字符串的用户输入,然后如果用户单击“确定”,它将启动一个新的活动(基本上是记事本),标题为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
答案 0 :(得分:0)
据我所知,应用程序的适配器(数据)部分存在问题。无论您使用什么Adapter类来支持com.jin.inventoryapp.ListEdit,它都会在访问数据时遇到问题。即如果您使用数组或数据库填充ListView,请先检查那里。
This有助于弄清楚谁在抛出异常。