从开始活动
Intent intent = new Intent(StartActivity.this, MarkersActivity.class);
startActivityForResult(intent, GoMarkerReturn);
调用其他活动,其中有CustomListAdapter扩展BaseAdapter。 列表视图在单击时会显示一张图片,以关闭当前活动并将结果返回到开始活动
public class CustomListAdapter extends BaseAdapter {
...
public View getView(int position, View convertView, ViewGroup parent) {
holder.imggo.setOnClickListener(new View.OnClickListener() {
...
@Override
public void onClick(View v) {
int clickedPosition = (Integer)v.getTag();
NewsItem newsItem = (NewsItem)listData.get(clickedPosition);
Long goID = newsItem.getID();
Intent myIntent = new Intent(v.getContext(), StartActivity.class);
myIntent.putExtra("goID", goID);
setResult(0, myIntent);
setResult(0,myIntent)不起作用!
答案 0 :(得分:1)
StartActivityForResult
和setResult
用于在活动之间传递值。在这种情况下,您需要在第二个活动中调用finish(),以便第二个活动被销毁,第一个活动到达前台。
这是一个很好的教程,可以了解它的功能。 DataTransfers
答案 1 :(得分:0)
public class CustomListAdapter extends BaseAdapter {
...
public View getView(int position, View convertView, ViewGroup parent) {
...
holder.imggo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(v.getContext(), StartActivity.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
myIntent.putExtra("goID", goID);
v.getContext().startActivity(myIntent);
和
public class StartActivity extends Activity{
...
@Override
protected void onResume() {
Intent intent = getIntent();
Long goID = intent.getLongExtra("goID", 0);
if (goID > 0){
...