1

UrlListFragment に ListView を設定する必要があるコードがありますが、実行しても効果がありません。WebView で作業するために問題を脇に置いたところ、URL をロードすると画面全体が使用されることがわかりました。これが ListView にデータが入力されていないことを意味するのかどうかはわかりません。つまり、スペースを占有しないため、WebView が画面全体を占有するのか、それとも、ListView が移入されているかどうか。

次のように ListView にデータを入力します。

    View returnView = inflator.inflate(R.layout.url_fragment, container, false);

    ListView listView1 = (ListView) returnView.findViewById(R.id.mylist);        
    String[] items = { "http://mobile.cs.fsu.edu/android", "http://www.google.com", "http://my-favoriate-website.com" };        
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, items);        
    listView1.setAdapter(adapter);

    return returnView;

そして、私の主なXMLはこれです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
</FrameLayout>

次のようにプログラムでメイン レイアウトにフラグメントを配置します。

    FragmentManager manager = getFragmentManager();
    FragmentTransaction trans = manager.beginTransaction();
    UrlListFragment urlfragment = new UrlListFragment();
    MyWebFragment webfragment = new MyWebFragment();
    trans.add(R.id.fragment_container, urlfragment, "my_url_fragment");
    trans.add(R.id.fragment_container, webfragment, "my_web_fragment");
    trans.commit();

ListView が表示されず、WebView が画面全体を占めるような問題は何でしょうか?

4

1 に答える 1

0

このタイプのコンストラクターを使用する必要があります

 ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)

すべてがuが書いたものと同じですが、textViewResourceIdではandroid.R.id.text1を使用します

于 2012-09-25T11:28:18.503 に答える