私はカスタムダイアログを使用してタイトル文字列のユーザー入力を取得しようとしていますが、ユーザーが[OK]をクリックすると新しいアクティビティ(基本的にメモ帳)が表示されますtitleタイトルとしての文字列。しかし、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);
}
を編集して、このダイアログを呼び出す:私は上の[OK]をクリックしたときに、私はエミュレータ上で実行しますカスタムダイアログは、私に "予期せず停止したアプリケーション"エラーを返します。
EDIT:
これは、私は彼らが何を意味するのか本当にわからないんだけど、logcatである:39:27.668:
01-12 17 \ ERROR/AndroidRuntime(426):java.lang.RuntimeException :アクティビティを開始できませんComponentInfo {com.jin.inventoryapp/com.jin.inventoryapp.ListEdit}:android.database.CursorIndexOutOfBoundsException:0のサイズでインデックス0が要求されました
エラーの内容や新しいアクティビティの開始方法を教えてください – Falmarri
申し訳ありませんが、シミュレータで実行すると、カスタムダイアログで[OK]をクリックすると「アプリケーションが停止しました予期しないエラー " – Jin
エラーの詳細については、EclipseのLogCatを参照してください。あなたの活動をマニフェストファイルに追加するのを忘れないでください;) –