从edittext的另一个活动android添加数据到listview

时间:2012-10-21 16:46:46

标签: android listview

我想问......

我有2个活动,只说form1和form2,我在form1上有一个listview。我想将form2中的edittext中的数据与按钮一起添加到表单1的listview中。我可以这样做吗?

如果我使用onResume(),用户必须将活动更改为form1以刷新listview ..

我尝试使用此代码,但它似乎没有用..

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

----------------------------------------------- ------------- ----------编辑

刚才我试图在form2上使用这段代码

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

myitem是一个字符串,它从表格2中的文本框中获取值

它似乎工作但现在问题是每次我将数据添加到form1中的listview时它总是覆盖listview中的现有数据。

我该如何解决这个问题?

谢谢!!

分辨---------------------------------------------- ----- 通过在form2上声明这个来解决

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

public static ArrayAdapter<String> adapter1;

我添加了public static。

谢谢!!!

1 个答案:

答案 0 :(得分:0)

- 假设Activity A ListViewActivity B 有{{} 1}}与EditText

在活动B中:

Button

在活动A中:

- 在onResume()中,执行此操作

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);
        }


});

- 现在您已获得 Intent i = getIntent(); String mdata = i.getExtras().getString("text_key"); 变量中的数据,我希望您在活动A中使用了mdata来保存数据,而这些数据又必须是喂入static ArrayList

<强>例如

ArrayAdater

- 现在终于在public static ArrayList<String> aList = new ArrayList<String>(); 中,您必须将此onResume()变量的添加到mdata中,然后将其输入进入ArrayList然后再次使用此ArrayAdpater设置ListView