当我调用ListView并选择了一个项目但我尝试过的所有内容都不起作用时,我一直在尝试设置我的活动和EdiText。我如何设置它是Main.class按钮打开ListView.class,iterm在ListView上选择,并在Main.class上设置EditText与该值。
这是我的代码:
Main.class:
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch(arg0.getId()){
case R.id.bSetListItem:
Intent i = new Intent(getBaseContext(),
PhotoDialog.class);
startActivityForResult(i, GET_ITEM);
break;
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case PICK_ITEM:
// handle the contact result
Bundle extras = data.getExtras();
String val = extras.getString("item");
itemName.setText(val);
break;
}
}
ListView.class:
public void onListItemClick(ListView parent, View v, int position,long id) {
Intent data = new Intent(this,Main.class);
data.putExtra("key","SELECTED ITEM");
setResult(RESULT_OK, Intent data);
}
答案 0 :(得分:1)
当您开始活动时,您没有完成列表活动,您必须通过调用finish()方法完成您的活动
public void onListItemClick(ListView parent, View v, int position,long id) {
Intent data = new Intent();
data.putExtra("item","SELECTED ITEM");
setResult(RESULT_OK, data);
finish();
}
另一件事是你必须设置的任何键,使用时间相同的键来获取时间
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case PICK_ITEM:
// handle the contact result
Bundle extras = data.getExtras();
String val = extras.getString("item");
itemName.setText(val);
break;
}
}
编辑:
你已经设置了"这个"和#34; Main.class"进入intent,当你为结果启动活动并设置数据时,不需要将上下文对象和类名设置到Intent构造函数中。 Intent()构造函数是空调用,只是将您想要设置的数据作为结果
答案 1 :(得分:0)
只需在ListView类中设置一个公共静态String,然后在Main类中调用
itemName.setText(ListView.string);