gpt4 book ai didi

android - 在 ListView 上的 onItemClick 之后返回 Activity 而不创建新 Activity

转载 作者:行者123 更新时间:2023-11-29 21:45:05 26 4
gpt4 key购买 nike

我的应用程序中有一个选项菜单,其中显示了用户在 map 上添加的所有标记的列表。标记使用 ListView 表示,当用户选择该 ListView 的其中一项时,我想返回(恢复?)到主要 Activity ,将标记位置作为参数传递,但不创建新 Activity 。那可能吗?现在我正在创建一个新 Activity ,当用户点击任何项目时,是否可以简单地返回到主要 Activity ?

MarkersList Activity 代码:

mainListView.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> arg0, View v, int position, long id)
{
Intent intent = new Intent(getBaseContext(), MainActivity.class);
MyMarkerObj marker = (MyMarkerObj)table.get(position);
intent.putExtra("position", marker.getId());
startActivity(intent);
finish();
}
});

MainActivity 代码:

 @Override
protected void onResume() {

Intent intent = getIntent();
if (intent != null) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
int reportId = bundle.getInt("position");
Toast.makeText(getApplicationContext(), Integer.toString(reportId), Toast.LENGTH_SHORT).show();
try {
data.open();
} catch (Exception e) {
Log.i("hello", "hello");
}


//Get the marker selected in the listview
String position = data.getMarkerById(reportId);
//System.out.println(">>>>>>>>>>>>>>> position = " + position);
}
}
super.onResume();
}

最佳答案

使用 StartActivityForResult(intent,reqcode) 代替 startActivity(intent)

首先在你第一个 Activity

Intent i=new Intent(MainActivity.this, MarkerActivity.class);
startActivityForResult(i,1); <-- 1 is request code, you can give anything.

然后在第二个 Activity 的 ItemClick 上

 Intent intent = getIntent();
MyMarkerObj marker = (MyMarkerObj)table.get(position);
intent.putExtra("position", marker.getId());
setResult(responsecode,intent);
finish();

FirstActivity 的 onActivityForResult

这样获取值

 protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
if(requestCode == 1 && resultCode == RESULT_OK)
{

Bundle bun=data.getExtras();
int position= bun.getInt("position");
}
}

关于android - 在 ListView 上的 onItemClick 之后返回 Activity 而不创建新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16089468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com