我有一些Acitivity
与ListView
。我应该如何使用相同的布局创建活动?
我希望在点击ListView
项目后,应该有新的Activity
,相同类型的布局包含与点击项目相关的其他信息(例如ListView
)。
我已经知道没有办法动态创建Activities
。 我应该怎么做才能从一个布局转到另一个布局(通过点击ListView
项目),并且应该能够通过后退按照相同的后退顺序返回?
我有一些Acitivity
与ListView
。我应该如何使用相同的布局创建活动?
我希望在点击ListView
项目后,应该有新的Activity
,相同类型的布局包含与点击项目相关的其他信息(例如ListView
)。
我已经知道没有办法动态创建Activities
。 我应该怎么做才能从一个布局转到另一个布局(通过点击ListView
项目),并且应该能够通过后退按照相同的后退顺序返回?
我已经知道没有办法创建动态活动。 我应该怎么做才能从一个布局转到另一个布局(通过 单击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一个新的你会检查什么是做
Bundle bundle = getIntent().getExtras();
theId = bundle.getInt("id");
//Now do something based on that id
按上从新活动返回键传递的ID应该带你回到前一个
您可以使用一个片段实现您的ListView:
http://developer.android.com/reference/android/app/ListFragment.html
那么你可以简单地[R通过使用FragmentManager类和FragmentTransation类将当前的ListFragment替换为新的ListFragment。通过这种方式,当您按下后退按钮时,FragmentManager将负责用旧的替换新的ListFragment。
请小心,因为如果您使用ListFragment,您的SDK目标必须是11或更多。如果这是您的担忧,您可以使用支持库中的类Fragment将其放入ListView中。 FragmentManager和FragmentTransation也是支持库的一部分。
每一个下一个活动必须与前一个活动相同。 onItemclicks上有(未定义)数量的未定义数量。 – Andrew 2012-08-15 19:17:54
这是更好的:Intent intent = new Intent(currentActivity.this,currentActivity.class); – Andrew 2012-08-15 20:27:50