如何从一个活动中获取用户输入,并在另一个活动中获取用户数据populate the listView
。我能够获得用户输入并在同一活动中填充listView。但现在我希望以一种形式获取用户输入并在另一个活动中填充列表。
我通过获取用户输入来填充listView的代码如下
public class MainActivity extends ListActivity {
ArrayList<String> list = new ArrayList<String>();
/** Declaring an ArrayAdapter to set items to ListView */
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.btnAdd);
/** Defining the ArrayAdapter to set items to ListView */
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
/** Defining a click event listener for the button "Add" */
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText edit = (EditText) findViewById(R.id.txtItem);
String name=edit.getText().toString();
list.add(name);
edit.setText("");
adapter.notifyDataSetChanged();
}
};
/** Setting the event listener for the add button */
btn.setOnClickListener(listener);
答案 0 :(得分:2)
您可以将用户输入/数据存储到本地数据库中;这将允许您在应用程序的任何位置访问您的数据
(建议,因为您正在处理sys.ShutdownHookThread {
log.info("Stopping Spark Streaming...")
ssc.stop(stopSparkContext = true, stopGracefully = true)
log.info("Shutting down the application...")
}
)。
如果您的数据相对较小,您可以使用listview
来存储数据。
答案 1 :(得分:0)
在您当前的活动(活动包含您的按钮)中,创建一个新的意图:
String name = "";
name = edit.getText().toString();
Intent i = new Intent(getApplicationContext(), NewActivity.class);
i.putExtra("keyword",name);
startActivity(i);
然后在NewActivity(活动包含Listview)中,检索这些值:
Bundle extras = getIntent().getExtras();
if (extras != null) {
String name = extras.getString("keyword");
if(name != ""){
// adapter.notifyDataSetChanged();
}
}
这是简单的方法,希望这个帮助
答案 2 :(得分:0)
在第二个Activity中声明一个公共方法,如
<强> SecondActivity.class 强>
public static ArrayList<String> list = new ArrayList<String>();
/** Declaring an ArrayAdapter to set items to ListView */
ArrayAdapter<String> adapter
onCreate()
{
...
;
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
listview.setAdapter(adapter);
...
}
public static void ModifyList()
{
adapter.notifyDataSetChanged();
}
<强> FirstActivity.class 强>
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText edit = (EditText) findViewById(R.id.txtItem);
String name=edit.getText().toString();
SecondActivity.list.add(name);
edit.setText("");
SecondActivity.ModifyList();
}
};
答案 3 :(得分:0)
从FirstActivity发送这样的ArrayList:
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putStringArrayListExtra("Datalist",list);
startActivity(intent);
在secondActivity中使用以下方式接收列表:
Intent i = getIntent();
list = i.getStringArrayListExtra("Datalist");
然后在SecondActivitys列表视图中显示它