活动持续显示首次调用的相同数据

时间:2014-04-23 08:53:29

标签: java android

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和旧(第一个选定的项目)被卡住了。

我希望我能很好地描述我的问题,有什么帮助吗?

2 个答案:

答案 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不变。

我知道这可能是一个无用的信息,但必须分享它可能会帮助某人