2

我有一个应用程序,它使用下面的代码显示第一个列表。单击以下代码中的任何列表项时,如何在更多列表中显示。请帮助我提供示例代码。

public class MyListFragment1 extends ListFragment {

    String[] VideoSetup ={
            "Properties", 
            "Color Control", 
            "Tint", 
            "3D Depth",
            "3D Format", 
            "Dynamic Backlight", 
            "Mode", 
            "Cache ID",

    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ListAdapter myListAdapter = new ArrayAdapter<String>(
                getActivity(),
                android.R.layout.simple_list_item_1,
                VideoSetup);
        setListAdapter(myListAdapter);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return inflater.inflate(R.layout.listfragment1, container, false);
    }

    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        Toast.makeText(
                getActivity(), 
                getListView().getItemAtPosition(position).toString(), 
                Toast.LENGTH_LONG).show();
        Fragment2 frag = (Fragment2) getFragmentManager().findFragmentById(R.id.fragment2);
    }




}

我不太确定这样做。我对安卓很陌生。

4

1 回答 1

0

首先你必须写第二个ListFragment。相似地。

然后,在第一个 Fragment 的 onListItemClick() 方法中,您可以编写如下内容:

Fragment2 frag = (Fragment2) getFragmentManager().findFragmentById(R.id.fragment2);

activity.getFragmentManager()
                    .beginTransaction()
                    .replace(R.id.fragment_container, frag)
                    .addToBackStack(null)
                    .commit();

这是您的片段容器 - /res/layout/activity_main.xml。它是空的。通过 setContentView(R.layout.activity_main) 将其与 MainActivity.class 绑定:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                tools:context=".MainActivity"
                android:background="#000000"
                android:id="@+id/fragment_container">
</RelativeLayout>

之后,您必须如上所述在片段容器上添加新的第一个片段。

然后,在第一个片段的 onListItemClick(...) 方法中,您必须创建新的第二个片段并首先替换。

于 2013-08-26T08:56:13.340 回答