1

聞きたい..

form1 と form2 という 2 つのアクティビティがあり、form1 にリストビューがあります。form2 の edittext のデータをボタン付きで form1 の listview に追加したいのですが、どうすればいいですか?

onResume() を使用する場合、ユーザーはアクティビティを form1 に変更してリストビューを更新する必要があります。

このコードを使用しようとしましたが、うまくいかなかったようです..

if(form1.listviewname != null)
{
        ((ArrayAdapter)form1.listviewname.getAdapter()).notifyDataSetInvalidated();
}

ありがとうございました!!

-------------------------------------------------- ----------編集済み----------

今、私はform2でこのコードを使用しようとしました

list_list.add(myitem);
form1.listview.setAdapter(adapter1);                        
adapter1.notifyDataSetChanged();

myitem は、フォーム 2 のテキスト ボックスから値を取得する文字列です。

それはうまくいくように見えますが、今問題は、フォーム1のリストビューにデータを追加するたびに、リストビューの既存のデータを常に上書きすることです..

どうすればこれを修正できますか?

ありがとうございました!!

解決済み------------------------------------------------- -- form2 でこれを宣言することで解決

public static ArrayList<String> list_list = new ArrayList<String>(); 

public static ArrayAdapter<String> adapter1;

public static を追加しました。

ありがとうございました!!!

4

1 に答える 1

0

- Activity Aが を持ち、ListViewBActivity wi ​​thを持っているEditTextとしButtonます。

アクティビティ B :

Button mbutt = (Button)findViewById(R.id.button_mSubmit);
EditText mtext = (EditText)findViewById(R.id.editText_mData);

mbutt.setOnClickListener(new OnClickListener(){

   public void onClick(View v) {

                      Intent i = new Intent(B.this, A.class);

                      i.putExtra("text_key",mtext.getText().toString());

                      startActivity(i);
        }


});

アクティビティ A :

-ここ onResume() で、これを行います

 Intent i = getIntent();

 String mdata = i.getExtras().getString("text_key");

-mdata変数にデータを取得しstatic ArrayListました。Activity A で を使用してデータを保持したことを願っていますArrayAdater

例えば:

public static ArrayList<String> aList = new ArrayList<String>();

-最後に で、この変数のonResume()に追加し、それを に入力してから、これで を再度設定する必要があります。mdataArrayListArrayAdpaterListViewAdapter

于 2012-10-21T18:29:24.407 に答える