如何创建具有相同布局的活动?

时间:2012-08-15 18:06:12

标签: android android-activity

我有一些Acitivity ListView

我希望在点击ListView项后,应该有新的Activity,其布局类型相同,包含与所点击的项目相关的其他信息(例如ListView)。

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

2 个答案:

答案 0 :(得分: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

按下新活动的后退键可以带您回到上一个

答案 1 :(得分:0)

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