我有以下代码。我在对象o
中有数据。 o
(说明,名称,图片网址)中有三组值。我需要将这些数据初始化为字符串并使用intent将其传递给其他活动。如何获取对象中的每个值。每个列表项都有一个图像,项目名称和项目描述。
fp_list.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView parentView, View v, int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "pos"+position, Toast.LENGTH_LONG).show();
Object o = parentView.getItemAtPosition(position);
Intent i = new Intent(FeaturedProductsActivity.this, ShowProduct.class);
}
}
答案 0 :(得分:3)
更棒的是让你自定义对象Parcelable
其他选项是逐个传递这些值:
Intent i=new Intent(FeaturedProductsActivity.this,ShowProduct.class);
i.putString("desc", o.getDescription());
i.putString("name", o.getName());
// rest of your values
ang在ShowProduct
活动中获取这些值:
Intent in = this.getIntent();
String name = in.getStringExtra("name");
String desc = in.getStringExtra("desc");
//rest of you values
答案 1 :(得分:2)
您无法使用Intent将对象从一个活动传递到另一个活动。必须使用Parcelable接口。看到这个。
http://prasanta-paul.blogspot.com/2010/06/android-parcelable-example.html
答案 2 :(得分:2)
Bundle bundle =new Bundle();
bundle.putString("memId",o.getId() );
Intent newIntent=new Intent(friendsOffrinends.this,RestaurantDetails.class);
newIntent.putExtras(bundle);
startActivityForResult(newIntent, 0);
答案 3 :(得分:1)
简单的方法:
1 - 创建一个扩展Application的类。 2 - 制作您想要传输的对象。 3 - 制定它并获得。 4-in onitemclick设置值。 5 - 随时随地获取价值。
示例:
1 - 创建一个扩展Application的类。 2 - 制作您想要传输的对象。 3 - 设定并获得。
public class App extends Application {
private static yourObject obj;
public yourObject getobj() {
return obj;
}
public void setobj(yourObject obj) {
this.obj= obj;
}
}
你班上的
fp_list.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView parentView, View v, int position, long id) {
// TODO Auto-generated method stub
yourObject o =(yourObject) parentView.getItemAtPosition(position);
App.setobj(o);
}
}
在任何其他应用程序类的其他地方
//here you will get your object which you have set on item click
yourObject obj=App.getobj;
希望这有帮助。
答案 4 :(得分:0)
如果您有数据,可以使用Bundle,也可以直接使用Intent附加数据,例如in.putExtra(...)
。
答案 5 :(得分:0)
你可以这样做:
Intent intent = new Intent(YourActivity.this,NewActivity.class);
filename
在第二项活动中:
Intent descriptionIntent = getIntent();
intent.putExtra("description", o.get(position).getdescription())
startActivity(descriptionIntent);