0

アプリとメニューにSlidingMenuを使用しています。単純な ListFragment が機能しています。しかし、それは 5 つのオプションの 1 つのストレート リストにすぎません。私が望むのは、上部に 3 つの設定、下部に 2 つの設定があることです (したがって、複数のリストを考えました)。

私が欲しいのは、このFoursquareメニューに似たものです:

ここに画像の説明を入力

ListFragment でこれを行うことはできますか?

現在、私の ListFragment は次のようになっています -

public class MenuListFragment extends ListFragment {

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.menu_list, null);
    }

    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        MenuAdapter adapter = new MenuAdapter(getActivity());

        adapter.add(new SampleItem("Home", android.R.drawable.ic_menu_search));
        adapter.add(new SampleItem("Help", android.R.drawable.ic_menu_search));
        adapter.add(new SampleItem("Settings", android.R.drawable.ic_menu_search));

        adapter.add(new SampleItem("Feedback", android.R.drawable.ic_menu_search));
        adapter.add(new SampleItem("Rate this App", android.R.drawable.ic_menu_search));


        setListAdapter(adapter);
    }



    private class SampleItem {
        public String tag;
        public int iconRes;
        public SampleItem(String tag, int iconRes) {
            this.tag = tag; 
            this.iconRes = iconRes;
        }
    }

    public class MenuAdapter extends ArrayAdapter<SampleItem> {

        public MenuAdapter(Context context) {
            super(context, 0);
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            if (convertView == null) {
                convertView = LayoutInflater.from(getContext()).inflate(R.layout.menu_row, null);
            }
            ImageView icon = (ImageView) convertView.findViewById(R.id.row_icon);
            icon.setImageResource(getItem(position).iconRes);
            TextView title = (TextView) convertView.findViewById(R.id.row_title);
            title.setText(getItem(position).tag);

            return convertView;
        }

    }

}

そして、menu_list XML は非常に単純です -

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/list_padding"
    android:paddingRight="@dimen/list_padding" />

しかし今、これを 2 つのリストに変換しようとしています。1 つは上部に、もう 1 つは下部にあります。レイアウトを次のように変更しましたが、正しい方法で行っているとは思いません-

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<ListView android:id="@android:id/list"
      android:layout_width="fill_parent"
      android:layout_weight="1"  
    android:layout_alignParentTop="true" />


<ListView android:id="@+id/list2"
      android:layout_width="fill_parent"
      android:layout_weight="1" 
      android:layout_alignParentBottom="true" />

</LinearLayout>

助言がありますか?2 つのリストを処理するために、ListFragment はどのように変更されますか? どんな助けでも大歓迎です。

4

0 に答える 0