传递参数适用于2个正常活动,但是当我尝试将其从 gridview 传递到另一个活动时,该值返回null
第一项活动
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
//This takes the position id of the image and change
//it to match category id
position = position + 1;
String positionId = String.valueOf(position);
System.out.println(positionId);
Toast.makeText(MenuActivity.this, "position =" + positionId + "\nid =" + id, Toast.LENGTH_SHORT).show();
Intent myIntent = new Intent(v.getContext(), MenuItemActivity.class);
myIntent.putExtra("hello", "hello");
startActivityForResult(myIntent, 0);
}
});
我的辅助活动(MenuItemActivity.java)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menuitem);
try{
Bundle extras = getIntent().getExtras();
String category = null;
extras.getString("Category "+extras.getString("hello"));
System.out.println("Category = "+category);
} catch(Exception e){
System.out.println("Error "+e.getMessage());
}
答案 0 :(得分:3)
从这里看起来像主人&gt;&gt;详细页面。如果是这样,你为什么要打电话
startActivityForResult(myIntent, 0);
而不是简单的
startActivity(myIntent);
你可以尝试这个并告诉我这是否有效。
getIntent().getStringExtra("hello");
答案 1 :(得分:0)
在您的第二项活动中,您需要致电setResult以实际将数据传回第一项活动。