[英]How to pass the data from listview of one activity and pass it to another activity?
在我的Android应用程序中,我需要将listview的数据传递给另一个活动,例如,如果我单击listview中的“食物”项,我想在另一个活动的textview中获得“食物”。
这是我的代码。
公共课程列表扩展了活动{
String selected_id = "";
SimpleCursorAdapter adapter;
DBhelper helper;
SQLiteDatabase db;
Button btnd;
String budget;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listlayout);
helper = new DBhelper(this);
Listview rldlist = (ListView) findViewById(R.id.rldlist);
TextView ed= (TextView) findViewById(R.id.addbud);
rldlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {
Cursor row = (Cursor) adapter.getItemAtPosition(position);
selected_id = row.getString(0);
budget = row.getString(1);
System.out.print("budget is"+budget);
ed.setText(budget);
}
});
在上面的代码中, TextView ed= (TextView) findViewById(R.id.addbud);
从另一个活动引用了textview。
但是现在的问题是,TextView仍然为空。
下面是执行另一项活动的代码。
rldlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
Intent myIntent = new Intent(list.this, addbudget.class);
list.this.startActivity(myIntent);
}
});
只需使用“ Intent.PutExtra()”方法传递值,然后在其他活动的“ onCreate”方法中检索数据。
rldlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override public void onItemClick(AdapterView arg0, View arg1, int position,
long arg3){
Intent myIntent = new Intent(list.this, addbudget.class);
myIntent .putExtra("passed data key",budget);
startActivity(myIntent);
}
});
现在,在您的“添加预算”活动的onCreate()方法中,
Bundle data_from_list= getIntent().getExtras();
String value_in_tv= data_from_list.getString("passed data key");
TextView ed= (TextView) findViewById(R.id.addbud);
ed.setText(value_in_tv);
做完了 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.