0

ユーザーがイベントを作成するアプリケーションがあります。ユーザーは、名前リストのListViewであるアクティビティから特定の名前を取得する必要があります。

別のアクティビティ(カレンダーアクティビティ)にリンクしている日付ボタンをクリックした後、名前がアクティビティに残っていることを確認してから、現在のアクティビティに戻ることに問題があります。

3ページの私のコード:

Create_Events.java-ListViewアクティビティから特定の名前を取得するためのコードとbtnDate onClickListener、別のアクティビティ(カレンダーアクティビティ)にリンクするコード

Bundle bundle = getIntent().getExtras();  
        if(bundle != null)
        {

            String date = bundle.getString("date");

            txtDate.setText(date);  

        }

        Bundle b = getIntent().getExtras();
        if(b != null)
        {
            String name = bundle.getString("name");
            txtName.setText("Create an event for:" +name);
        }

buttonDate = (Button) findViewById(R.id.btnDate);
        buttonDate.setOnClickListener(new View.OnClickListener()
        {

            @Override
            public void onClick(View v)
            {
                Intent calIntent = new Intent(Create_Events.this, Calendar_Event.class);
                startActivity(calIntent);


            }

        });


ContactsList.java --  the ListView of the names which is passed to the Create_Events page.

    Cursor cursor = null;

               cursor = (Cursor) l.getItemAtPosition(position);
               Intent intent = new Intent(ContactsList.this, Create_Events.class);
               intent.putExtra("name", cursor.getString(cursor.getColumnIndex(buddyDB.KEY_NAME)));
               startActivity(intent);

これについて助けが必要です。
提供された助けは大歓迎です。前もって感謝します!=)

4

3 に答える 3

1

あなたの質問から私が理解しているのは、別のアクティビティから戻った後もデータを画面に保持したいということです。アクティビティ A --> アクティビティ B --> アクティビティ A のように

そのため、アクティビティ A のメニフェスト ファイルに設定します。

      android:launchmode="singletop" 

アクティビティ B からアクティビティ A に戻るとき

セット インテント インテント = 新しいインテント (ActivtyB.this、ActivityA.class); インテント.addFlags(インテント.FLAG_ACTIVITY_CLEAR_TOP); startActivity(意図);

于 2012-10-15T09:29:55.783 に答える
1

現在の画面状態を保存することでこの動作を取得できます。共有設定または他の方法 (xml、データベース、..) を使用できます。アクティビティを終了する前に (onPause)、必要な情報を保存します。 on (onResume) 情報が存在する場合 (アクティビティの読み込みが初めてではない場合)、

データを収集して画面に表示します。

これが多すぎて、保存する名前文字列だけが必要な場合は、次のことを試してください: Android でグローバル変数を宣言するにはどうすればよいですか?

それが役に立てば幸い...

于 2012-09-24T07:05:45.283 に答える
0

バンドルを使用して日付を保存しながら、SharedPreferences を使用して名前を保存できます。

contactLists.java からこれらのコードを追加します

private void SavePreferences(String key, String value)
{
    SharedPreferences sharedPref = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPref.edit();
    editor.putString(key, value);
    editor.commit();
}

private void LoadPreferences()
{
    SharedPreferences sharedPref = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
    String name = sharedPref.getString("name", "");



} 

次に、listView に表示される te​​xtView に名前を設定します。その後、create_events ページで設定を読み込むと、別のアクティビティに移動したときにも名前が表示されます。ご不明な点がございましたら、お知らせください。(:

于 2012-09-24T07:06:04.337 に答える