在片段中显示ArrayAdapter会显示“false”

时间:2013-10-15 14:49:38

标签: java android android-fragments android-arrayadapter

最近我问了一个关于如何为TextView创建一个样式并为其他文本多次显示它的问题。解决方案是,创建一个XML-Layout,我在其中设计textview,然后使用ArrayAdapter用内容填充它。我在一个片段中使用ArrayAdapter,因为我有多个片段可以取代主菜单,取决于菜单点击。

但是我被卡住了。我真的不知道如何实现这一目标。我正在将所有值写入数组,然后将它们分配给我的ArrayAdapter。我已经看到了很多解决方案,但没有一个能解决我的问题而且他们都采用了其他方式。

这是片段的xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainRelativeLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

<ScrollView 
    android:id="@+id/mainScrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1.03" >

            <TextView
        android:id="@+id/sources"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@+id/label"
        android:textSize="20px" >
    </TextView>
    </ScrollView>
</RelativeLayout>

TextView是我想要填充的textview。还没有风格,我只是出于测试目的而做。现在我在Fragment中做了这个。

这是我的onCreateView方法

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        StrictMode.setThreadPolicy(policy);
        View rootView = inflater.inflate(R.layout.main_fragment, null);
        RelativeLayout ll = new RelativeLayout(getActivity());
        ScrollView sv = new ScrollView(getActivity());
        ArrayAdapter<String> sourceAdapter = new ArrayAdapter<String>(getActivity(), R.id.mainScrollView, R.id.sources, sourceArr);
        return rootView;        
    }

sourceArr是包含内容的数组。我究竟如何将所有值分配给TextView,以便多次显示?感谢

1 个答案:

答案 0 :(得分:1)

您正在使用scrollview进行textview。循环遍历数组并将数据附加到textview。

或者

main_fragment.xml初始化listview和适配器并在适配器中设置列表视图并将适配器设置为listview。

  View rootView = inflater.inflate(R.layout.main_fragment, null);
  ListView lv = (ListView) rootView.findViewById(R.id.lv);
  ArrayAdapter<String> sourceAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item1, sourceArr);
  lv.setAdapter(sourceAdapter);
  return rootView;

同时删除ScrollView sv = new ScrollView(getActivity())RelativeLayout ll = new RelativeLayout(getActivity())