Как добавить TextView из TextView ArrayList в макет фрагмента?

У меня есть этот класс фрагмента:

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>

если я хочу добавить много TextView из ArrayList в макет фрагмента ниже, как я могу это сделать?

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 для того же результата.

Я действительно думаю, что вы должны изменить TextView в RelativeLayout на ListView. Затем вы можете добавить все ваши текстовые представления в ListView

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

Другие вопросы по тегам