你想打电话startActivityForResult()
为了这。所以在你的第一个Activity
就像是
Intent i = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(i, SOME_REQUEST_CODE); // you give SomeRequesSOME_REQUEST_CODE an int value
然后在你的onItemClick()
你需要打电话setResult()
并发回Intent
。这将调用onActivityResult()
在你的第一个Activity
listPerasat.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
NamaPrst = ((TextView) view.findViewById(R.id.txtListNamaPrst)).getText().toString();
Intent i = new Intent();
i.putExtra("NAMA_PERASAT", NamaPrst);
setResult(RESULT_OK, i);
finish();
}
});
}
In onActivityResult()
在你的第一个Activity
,不要打电话getIntent()
。这将尝试使用Intent
最初开始你的第一个Activity
。相反,使用Intent
你回来了
@Override
public void onActivityResult(int requestCode,int resultCode, Intent data)
{
edtText.setText(data.getStringExtra("NAMA_PERASAT"));
}
请参阅此答案的另一个示例 https://stackoverflow.com/questions/20387659/startactivityforresult-with-three-activities/20404668#20404668