1

我有一些Acitivity带有ListView.

我希望在单击该ListView项目后应该有新Activity的具有相同类型的布局包含ListView与单击的项目相关的另一个信息(例如)。

我知道没有办法动态创建Activities。我应该怎么做才能从一个布局转到另一个(通过单击ListView项目)并且应该能够通过后退键返回相同的后退序列?

4

2 回答 2

0

您可以使用 A Fragment 来实现您的 ListView: http:
//developer.android.com/reference/android/app/ListFragment.html
然后您可以使用 FragmentManager 类和 FragmentTransation 类简单地将当前 ListFragment 替换为新的. 这样,当您按下后退按钮时,FragmentManager 将负责用旧的 ListFragment 替换新的 ListFragment。
请注意,如果您使用 ListFragment,您的 SDK 目标必须为 11 或更多。如果这对您来说是一个问题,您可以使用支持库中的 Fragment 类,在其中放置一个 ListView。FragmentManager 和 FragmentTransation 也是支持库的一部分。

于 2012-08-19T01:42:27.757 回答
0

我知道没有办法动态创建活动。我应该怎么做才能从一个布局转到另一个布局(通过单击 ListView 项目)并且应该能够通过返回键返回相同的反向序列?

为什么不能动态创建活动?您可以轻松地从您的 ListView onclick 监听器创建一个新的

lv.setOnItemClickListener(new OnItemClickListener(){
        public void onItemClick(AdapterView<?> parent, View view, int position, long id){

         //Based on the position of the clicked item create a new activity with the position id
         Intent intent = new Intent(currentActivity.this, newActivity.this);
         intent.putExtra("id", position);
         startActivity(intent);
   }
};

现在在 newActivity 中,您将通过执行检查传递的 id 是什么

        Bundle bundle = getIntent().getExtras();
        theId = bundle.getInt("id");

            //Now do something based on that id

在新活动中按后退键应该带您回到上一个活动

于 2012-08-15T18:37:52.037 回答