滑动菜单的自定义列表视图

时间:2013-03-25 08:02:41

标签: android listview menu sliding

* 编辑: *我现在已经开始工作了。在下面的代码中进行了必要的更改。

我正在尝试在Android应用程序中创建一个slidng菜单。滑动菜单必须包含带有图像和文本视图的自定义列表视图。虽然我能够获得滑动菜单,但我似乎无法将任何内容添加到列表视图中。

这是我的主要活动:

public class Main extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final Context context=this;
    LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View v=inflater.inflate(R.layout.slidingmenu, null, true);



    final ListView lv=(ListView) v.findViewById(R.id.listView);

    SlidingMenu menu=new SlidingMenu(this);
    menu.setMode(SlidingMenu.LEFT);
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    menu.setShadowWidth(5);
    menu.setFadeDegree(0.0f);
    menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
    menu.setBehindWidth(100);
    menu.setMenu(v);
    menu.setOnOpenListener(new OnOpenListener() {

        @Override
        public void onOpen() {
            MenuAdapter ma=new MenuAdapter(context);
            lv.setAdapter(ma);
        }
    });


}

我的适配器类:

public class MenuAdapter extends ArrayAdapter<String>{
Context context;

@Override
public int getCount() {
    return 2;
}

public MenuAdapter(Context c) {
    super(c, R.layout.menucontent);
    context=c;

}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    /*int height=LinearLayout.LayoutParams.MATCH_PARENT;
    int width=LinearLayout.LayoutParams.MATCH_PARENT;*/


    LayoutInflater inflater=(LayoutInflater) context.
            getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View view=inflater.inflate(R.layout.menucontent, parent, false);
    TextView tv=(TextView) view.findViewById(R.id.tv_content);

    tv.setText("Hello World");

    return view;
}   

}

PS:我有3个不同的XML文件 - main.xml是启动器活动,slidingmenu.xml显示菜单,最后是menucontent.xml,其中包含应在列表中显示的文本和图像视图。

1 个答案:

答案 0 :(得分:0)

覆盖getCount() MenuAdapter方法以返回大于1的值,例如,2,10。然后,您将能够看到列表项。