我想问......
我有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。
谢谢!!!
答案 0 :(得分:0)
- 假设Activity
A 有ListView
而Activity
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
。