0
我試圖將數據(從網格中選取的項的位置)返回給父活動,但我的代碼失敗。 debbuger顯示'data'如何正確獲取子activity的「data.putExtra(」POS_ICON「,position)」中的鍵和數據,但是在父活動的onActivityResult()後,debbuger顯示'data'數據返回......就像數據丟失了內容一樣。我跟着其他帖子和教程,但沒有辦法。請幫忙。無法將數據返回到父活動
父活動:
public void selIcono(View v){
Intent intent = new Intent (this, SelIconoActivity.class);
startActivityForResult(intent,PICK_ICON_REQUEST);
}
protected void onActivityResult(int requestCode, int resultCode,
Intent data) { //here's the problem: no data is returned!!
if (requestCode == PICK_ICON_REQUEST) {
if (resultCode == RESULT_OK) {
// An icon was picked.
putIcon(data.getIntExtra("POS_ICON", -1));
}
}
}
兒童活動:
public class SelIconoActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sel_icono);
GridView gridview = (GridView)findViewById(R.id.gr_iconos);
gridview.setAdapter(new ImageAdapter (this));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Intent data = new Intent();
data.putExtra("POS_ICON", position);
setResult(Activity.RESULT_OK, data);
finish();
}
});
}
}
而不是'putIcon(data.getIntExtra( 「POS_ICON」,替換你的代碼
putIcon(data.getIntExtra("POS_ICON", -1));
- 1));',你可以嘗試'putIcon(data.getExtras()。getInt(「POS_ICON」,-1));'? –黃,你的答案data.getExtras()。getInt(「POS_ICON」,-1)是正確的!它運行完美。非常感謝。 – user23
感謝您的反饋,請接受我的回答,以便您的問題被標記爲已解決。 –