gpt4 book ai didi

java - Android中如何在ActionBarActivity中显示ListFragment?

转载 作者:行者123 更新时间:2023-11-30 02:43:34 26 4
gpt4 key购买 nike

我要添加FileChooser (← 我用这个)到我的应用程序(我的主要 Activity 扩展了 ActionBarActivity)。我试图将 FileChooser 更改为 Fragment 或 ListFragment。因为我希望页面可以被用户选择(我使用抽屉来选择 fragment )。

我的应用程序结构如图所示:enter link description here (因为我不能在这里张贴图片)

但是如果我改成 Fragment 就不行了。如果我更改为 ListFragment 它会起作用,但它显示在最后一个 fragment 之上,如图所示:它在上面的图片旁边(请再次单击链接,因为我不能发布这么多链接)

AndroidManifest.xml: android:minSdkVersion="11" android: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);
}

我的问题:

  1. 如何将 FileChooser 从 ListActivity 改为 Fragment 或 ListFragment?(如果有人有其他方法,请告诉我)
  2. 如何在用户单击按钮(在 First 的布局中)后显示它并且看不到最后一个 Fragment 的布局?(如果可以改成Fragment或ListFragment)
  3. 继续2,如何将数据传输到其他 fragment ?
  4. 导入哪个更好(在 ActionBarActivity 中)? (android.app.Fragment 或 android.support.v4.app.Fragment)

感谢所有阅读我问题的人

最佳答案

我将从下到上开始。

Which is better to import (in ActionBarActivity)? (android.app.Fragment or android.support.v4.app.Fragment)

回答:都不是。这取决于您在做什么以及您希望符合的 API 级别。我倾向于使用 android.support.v4.app.Fragment 而不是标准的 android.app.fragment 但这只是偏好而已。

How can I display it after user click button(in First's layout) and will not see last Fragment's layout? (if it can change to Fragment or ListFragment) continue2 , How to Transfer data to other fragments?

答案:listfragment 是一种带有一些额外方法的 fragment 。要用 listfragment 替换标准 fragment ,您需要做同样的事情。

FragmentTransaction ft = getFragmentManager.beginTransaction;

ft.replace(containerId, new MyListFragment or Fragment)
.commit();

对于在 fragment 之间移动数据,最简单的方法是使用 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");

How to change FileChooser from ListActivity to Fragment or ListFragment?(If someone has other methods, please tell me)

您是在考虑在 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();


}
}

关于java - Android中如何在ActionBarActivity中显示ListFragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25426296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com