A1 と A2 という 2 つのアクティビティがあり、どちらにも 2 つの編集テキスト フィールドがあり、1 つはタイトル用、もう 1 つはストーリー用です。ユーザーがアクティビティ A1 の両方のテキスト フィールドにテキストを入力し、保存ボタンを押すと、エントリがリスト ビューに保存されます。ユーザーが保存したエントリをもう一度クリックすると、タイトルとストーリーがアクティビティ A2 のタイトルとストーリーのテキスト フィールドに表示されます。アクティビティ A2 でタイトルを取得していますが、ストーリー部分が表示されない理由がわかりません。
項目がクリックされたときのアクティビティ A1 のコードを次に示します。
static String title = "";
static String story = "";
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// here arg3 is the id of the item which is pressed
registerForContextMenu(arg1);
id_item_clicked = arg3;
position_item = arg2;
Cursor c = (Cursor) arg0.getItemAtPosition(arg2);
title = c.getString(c.getColumnIndex(DataHolder.KEY_TITLE));
story = c.getString(c.getColumnIndex(DataHolder.KEY_STORY));
Intent i = null;
// remove this toast later
Toast.makeText(DiaryActivity.this, "TestClick", Toast.LENGTH_SHORT).show();
try {
i = new Intent(A1.this,
Class.forName("com.android.project.A2"));
i.putExtra(ROW_ID, arg3);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
startActivity(i);
}
2 つのテキスト フィールドにテキストを表示するアクティビティ A2 のコードを次に示します。
EditText title_read, display_story_read;
private long rowId;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.readdata);
// bundle receives the row id of the item clicked
Bundle extras = getIntent().getExtras();
rowId = extras.getLong("row_id");
setupVaiables();
title_read.setText(A1.title);
display_story_read.setText(A1.story);
}
タイトルは表示されていますが、ストーリー部分は表示されていません。これで私を助けてください。私は何時間も試してきました。また、質問に対する返信が少ない理由を誰か教えてもらえますか?