[英]add data to listview from edittext another activity android
我想问问..
我有2个活动,只说form1和form2,而我在form1上有一个listview。 我想用一个按钮从form2的edittext中添加数据到表单1.的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的文本框中获取值的字符串
它似乎工作,但现在的问题是每次我将数据添加到form1的listview中时,它总是会覆盖listview中的现有数据。
我怎样才能解决这个问题?
谢谢!!
解决 - - - - - - - - - - - - - - - - - - - - - - - - - -通过在form2上声明这一点来解决
public static ArrayList<String> list_list = new ArrayList<String>();
public static ArrayAdapter<String> adapter1;
我添加了公共静态。
谢谢!!!
-假设Activity
A具有ListView
, Activity
B具有带有Button
的EditText
。
在活动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
变量中mdata
了数据,我希望您在Activity A中使用了static ArrayList
来保存数据,这些数据又必须被馈送到ArrayAdater
。
例如:
public static ArrayList<String> aList = new ArrayList<String>();
-现在终于在onResume()
,您必须将此mdata
变量的值添加到ArrayList
,然后将其输入到ArrayAdpater
,然后再次使用此Adapter
设置ListView
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.