Android活动A是列表活动,B是有关列表项的详细信息
A正在呼叫B并发送数据ID和类别
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// getting values from selected ListItem
String newsid = ((TextView) view.findViewById(R.id.idTV))
.getText().toString();
Bundle bndl=new Bundle();
bndl.putString("id", newsid);
bndl.putString("cat", "sport");
bndl.putString("prev", "SPORTPANEL");
Intent in = new Intent("com.contact.lebadagency.SINGLECONTACTACTIVITY");
//in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//in.putExtra("id", newsid);
//in.putExtra("cat", "sport");
in.putExtras(bndl);
startActivity(in);
}
});
和第二个活动B:
Intent in=new Intent();
in=getIntent();
Bundle bundle = this.getIntent().getExtras();
String news = bundle.getString("id").toString();
String cat = bundle.getString("cat").toString();
当我安装并运行应用程序时,我点击A活动上的任何项目并显示正确的数据,问题是第一个选定的数据卡在活动B中,永远停留在活动B上,我点击其他项目列表A和旧(第一个选定的项目)被卡住了。
我希望我能很好地描述我的问题,有什么帮助吗?
答案 0 :(得分:0)
我认为你的列表视图没有正确形成。请仔细阅读下面的链接,了解如何加载它以及如何传递给下一个活动。
以下链接将帮助您:
How can I set onClickListener on ArrayAdapter?
http://www.vogella.com/tutorials/AndroidListView/article.html
答案 1 :(得分:0)
我解决了,我的主要问题是有点好笑我需要修复的两个错误,而且疯狂的是两个错误因为同样的错误,我在B活动中应用onNewIntent()而另一个问题是使用静态变量像这样:
private static final ID ="row_id";
private static final TITLE ="row_t";
我使用这些变量从json数组中获取id和title,然后在我将结果设置为文本视图之前,我更改了这些变量值,并且下一次调用此活动以无法从json对象中检索数据
刚刚制作了一个新变量
private static final ID ="set_id";
private static final TITLE ="set_t";
并使用它们,并保持ID和TITLE不变。
我知道这可能是一个无用的信息,但必须分享它可能会帮助某人