我想将FileChooser(←我用这个)添加到我的应用程序(我的主要活动扩展ActionBarActivity)。我尝试将FileChooser更改为Fragment或ListFragment。 因为我想用户可以选择页面(我用抽屉选择片段)。
我的应用程序的结构如图:enter link description here(因为我不能在这里发布图片)
但是如果我改为Fragment它就行不通了。 如果我改为ListFragment它会工作,但它显示在最后一个片段如图片:它在上面的图片旁边(请再次点击链接,因为我不能发布这么多的链接)
的AndroidManifest.xml: 机器人:的minSdkVersion = “11” 机器人:targetSdkVersion = “21”
我的selectitem()代码:
private void selectItem(int position) {
Fragment fragment = null;
switch (position) {
case 0:
Toast.makeText(getApplicationContext(),"case 0", Toast.LENGTH_SHORT).show();
fragment = new First();
break;
case 1:
Toast.makeText(getApplicationContext(),"case 1", Toast.LENGTH_SHORT).show();
fragment = new Second();
break;
case 2:
Toast.makeText(getApplicationContext(),"case 2", Toast.LENGTH_SHORT).show();
fragment = new Third();
break;
}
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.content_frame, fragment);
fragmentTransaction.addToBackStack("home");
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
fragmentTransaction.commit();
mDrawerList.setItemChecked(position, true);
setTitle(mPlanetTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
我的问题:
感谢所有阅读我问题的人
答案 0 :(得分:1)
我将从下到上开始。
哪个导入更好(在ActionBarActivity中)? (android.app.Fragment或android.support.v4.app.Fragment)
答案:都没有。这取决于您的工作和您希望符合的API级别。我倾向于使用android.support.v4.app.Fragment而不是标准的android.app.fragment,但这只是偏好。
如何在用户点击按钮(在First's布局中)和之后显示它 不会看到最后片段的布局? (如果它可以改为Fragment或 ListFragment)continue2,如何将数据传输到其他片段?
答案:listfragment是一种带有一些额外方法的片段。要使用listfragment替换标准片段,您将执行相同的操作。
FragmentTransaction ft = getFragmentManager.beginTransaction;
ft.replace(containerId, new MyListFragment or Fragment)
.commit();
根据片段之间的移动数据,最简单的方法是使用Bundle。
Bundle data = new Bundle();
data.putInt("myInt", 1);
data.putString("myString" "hello java")
myFragment.setArguments(data);
在您的Fragment类中,您将从这个数据包中获取数据。
Bundle data = getArguments();
int myInt = data.getInt("myInt");
String myString = data.getString("myString");
和
如何将FileChooser从ListActivity更改为Fragment或 ListFragment?(如果有人有其他方法,请告诉我)
您是否正在考虑在Fragment类中实现FileChooser类,或者您想要通过它实际说明什么?
我的selectFragment方法如下所示:
public Fragment getFragment(int pos){
switch(pos) {
case 1:
return new FragmentOne();
case 2:
return new FragmentTwo();
case 3:
return new FragmentThree();
default:
return FragmentOne();
}
}