【问题标题】:Android make activity with tabs and dynamically add views in each fragmentAndroid使用选项卡制作活动并在每个片段中动态添加视图
【发布时间】:2014-08-24 03:08:13
【问题描述】:

我正在尝试使活动具有可滑动的选项卡,每个选项卡都有不同的片段(我还不知道我将拥有多少个片段,所以假设它们至少有 5 个)。 所以我在使用选项卡制作父活动时遇到问题(如果我说得对的话),然后片段本身有一些动态添加的视图(文本视图和一个图像视图),它们从不同的异步任务中获取它们的东西,当片段执行时显示。 不知道我解释的是否正确,但这是我的代码,请您在其中添加所需的内容。

所以这里是必须承载选项卡和片段的父活动:

public class SecondActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
    }
}

这是其中的一个片段(其他类似):

public class Fragment1 extends Fragment {

    LinearLayout layout;
    ImageView iv;
    String anotherURL;
    ArrayList<InfoStuff> ci;

    public Fragment1() {
        // Empty constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment1, container, false);
        layout = (LinearLayout) rootView.findViewById(R.id.layout);
        iv = (ImageView) rootView.findViewById(R.id.ivPortrait);
        Bundle b = this.getArguments();
        ci = b.getParcelableArrayList("infoStuff");
        regionUrl = b.getString("someURL");
        createViews();
        return rootView;
    }

    public void createViews() {

        TextView tv;

        tv = new TextView(v.getContext());
        tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        tv.setText("le text");
        layout.addView(tv);

        tv = new TextView(v.getContext());
        tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        tv.setText("some text");
        layout.addView(tv);


        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(v.getApplicationContext()).build();
        ImageLoader.getInstance().init(config);
        String imgUrl = "someURL";
        ImageLoader.getInstance().displayImage(imgUrl, iv);
    }
}

我在使 ImageView 工作时也遇到了麻烦,因为它来自一个附加库(忘记了名称,这是通过 import com.nostra13.universalimageloader.core.ImageLoader 导入的;)

编辑:抱歉,忘记提到标签必须是可滑动的

【问题讨论】:

    标签: android android-fragments android-tabs


    【解决方案1】:

    文章Creating Navigation tabs using TabHost and Fragments in Android可能对你有所帮助。

    在本文中,我们将开发一个包含导航选项卡的 Android 应用程序。我们可以通过多种方式向应用程序添加导航选项卡。

    从 Android 3.0 开始,创建导航选项卡的标准方法是使用操作栏。 [...]

    对于Android 2.x及以上,我们可以使用Action bar Sherlock库来创建导航库。 [...]

    在这个应用程序中,我们使用 TabHost 和 Fragments 创建导航选项卡。 [...]

    此应用程序是在 Eclipse 3.7.2 中使用 ADT 插件 (20.0.2) 和 Android SDK (R20.0.1) 开发的。

    【讨论】:

    • 其实我想要的是可滑动的标签,抱歉之前忘了提
    • 好的,您对 viewpager 库有任何想法吗?
    • 这些链接可以帮助你实现你想要的功能我通过使用这些github.com/JakeWharton/Android-ViewPagerIndicatorviewpagerindicator.com解决了我同样的问题
    • (注意,我还没有标记这个,因为它有关键答案,但是......)虽然这个链接可以回答这个问题,但最好在此处包含答案的基本部分并且提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    【解决方案2】:

    我刚开始做一些与您想做的非常相似的事情。我关注了this tutorial on Android Hive,这对于获取标签、滑动和碎片非常有帮助。 (本例中的片段只是具有不同颜色的文本视图,但您可以轻松找出在您自己的视图中添加的位置。

    希望这会有所帮助 - 它对我有用!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      相关资源
      最近更新 更多