【问题标题】:How to add TextView from TextView ArrayList to the Layout of a Fragment?如何将 TextView ArrayList 中的 TextView 添加到 Fragment 的布局中?
【发布时间】:2013-12-14 14:49:36
【问题描述】:

我有这个片段类:

import iumingv.android.physicalcontribution.R;
import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class FragmentDispositivi extends Fragment{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.fragment_dispositivi, container, false);

        return rootView;
    }

还有这个 xml 布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#fa6a6a" >

    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Dispositivi"
        android:textSize="20dp"
        android:layout_centerInParent="true"/>


</RelativeLayout>

如果我想从一个 ArrayList 中添加多个 TextView 到下面 Fragment 的布局中,我该怎么做?

【问题讨论】:

  • 如果我理解正确,您想以编程方式将 TextViews 添加到该布局中吗?

标签: android android-layout arraylist android-fragments


【解决方案1】:

我认为您应该将RelativeLayout 中的TextView 更改为ListView。 然后您可以将所有文本视图添加到 ListView

http://developer.android.com/guide/topics/ui/layout/listview.html

【讨论】:

    【解决方案2】:
    1. 移动

      <TextView android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:gravity="center"
         android:text="Dispositivi"
         android:textSize="20dp"
         android:layout_centerInParent="true"/>
      

      到其他文件 - 比如说 ui_textview

    2. 然后更改 FragmentDispositivi:

      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
          Bundle savedInstanceState) {
      
           View rootView = inflater.inflate(R.layout.fragment_dispositivi, container, false);
           for (int i = 0; i < arrayList.size(); i++) {
                View tv = inflater.inflate(R.layout.ui_textview, container, false);
                rootView.add(tv);
           }
           return rootView;
      

      }

    另一种方法是使用 ListView 获得相同的结果。

    【讨论】:

    • 我拥有的 ArrayList 是动态的,我添加 TextView 或删除这些,如果我使用 xml 文件作为 ui_textview,如何向 xml 文件添加新的 textview o 如何删除它?
    • ui_textview 只是一个模板。您可以添加或删除任意数量的 textView。使用只需使用 xml 文件作为模板。
    • 我不明白如何在 xml 文件中添加新的文本输入(来自智能手机键盘)作为 TextView
    猜你喜欢
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多