我有RecyclerView
的ListAdapter,其中有一个onClick方法,可以获取用户点击的任何项目的位置,然后将该值传递给 ItemEditActivity :
@Override
public void onClick(View v) {
String stringo = dataList.get(position).id;
Intent intent = new Intent(context, ItemEditActivity.class);
intent.putExtra("ItemNumber", stringo);
context.startActivity(new Intent(v.getContext(), ItemEditActivity.class));
Log.d(TAG, stringo + "");
}
然后,我使用以下代码收到 ItemEditActivity 中的意图:
Intent Intent = getIntent();
String intValue = Intent.getStringExtra("ItemNumber");
我在 stringo 变量通过之前记录该变量并确认其具有正确的值,但在尝试记录 intValue 时我的第二个活动,值为空。我在这里做错了什么?
答案 0 :(得分:2)
您正在创建一个Intent,但您没有使用它。
// Your first Intent
Intent intent = new Intent(context, ItemEditActivity.class);
intent.putExtra("ItemNumber", stringo);
// Here, you are creating another Intent
context.startActivity(new Intent(v.getContext(), ItemEditActivity.class));
您只需传递第一个意图:
Intent intent = new Intent(context, ItemEditActivity.class);
intent.putExtra("ItemNumber", stringo);
context.startActivity(intent);
答案 1 :(得分:0)
在第1次活动中
Intent intent = new Intent(MainActivity.this,ClientList.class);
intent.putExtra("ItemNumber", stringo);
startActivity(intent);
在第二视图中,您可以尝试以下
Bundle bundle = getIntent().getExtras(); //get the intent and data passed
//next check that bundle is not null
if (bundle != null) {
String intValue = bundle.getString("stringo");
//try loging out the value
Log.i("value", intValue);
}
这就是我使用意图传递数据的方式。