繁体   English   中英

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

[英]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具有ListViewActivity B具有带有ButtonEditText

在活动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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM