You want to call startActivityForResult()
for this. So in your first Activity
something like
Intent i = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(i, SOME_REQUEST_CODE); // you give SomeRequesSOME_REQUEST_CODE an int value
then in your onItemClick()
you need to call setResult()
and send back the Intent
. This will call onActivityResult()
in your first 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()
in your first Activity
, don't call getIntent()
. This will try to use the Intent
that originally started your first Activity
. Instead, use the Intent
you passed back
@Override
public void onActivityResult(int requestCode,int resultCode, Intent data)
{
edtText.setText(data.getStringExtra("NAMA_PERASAT"));
}
See this answer for another example
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…