慕尼黑5688855
2023-10-13 16:19:53
我有Activity1,Activity1 Adapter并且Activity2我無(wú)法在適配器和活動(dòng)之間傳遞值。Activity 2當(dāng)按下后退按鈕時(shí),我期望從第二個(gè)活動(dòng)( )到Activity1當(dāng)前的值,它給了我null這是我的代碼片段?;顒?dòng)1適配器 holder.cardView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Activity origin = (Activity) context; Intent intent = new Intent(context, PostActivity.class); intent.putExtra("searchText", staggeredCustomCard.getSearchText()); origin.startActivityForResult(intent, 1); } });活動(dòng)2 @Override public void onBackPressed() { super.onBackPressed(); Intent mIntent = new Intent(); mIntent.getStringExtra("searchText"); setResult(1, mIntent); }我期待這searchText會(huì)發(fā)生Activity1。誰(shuí)能指導(dǎo)我如何實(shí)現(xiàn)這一目標(biāo)?
1 回答

慕妹3242003
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
您正在獲得getStringExtra("searchText");一個(gè)全新的意圖,這就是它返回 null 的原因。getIntent()您需要像這樣獲取搜索文本:
@Override
public void onBackPressed() {
super.onBackPressed();
Intent mIntent = new Intent();
String search = getIntent().getStringExtra("searchText");
mIntent.putExtra("searchText", search);
setResult(1, mIntent);
}
添加回答
舉報(bào)
0/150
提交
取消