*编辑: *我现在可以使用它了。在下面的代码中进行了必要的更改。
我正在尝试在 Android 应用程序中创建一个滑动菜单。滑动菜单必须包含带有图像和文本视图的自定义列表视图。虽然我能够获得滑动菜单,但我似乎无法将任何内容放入列表视图。
这是我的主要活动:
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,其中包含应显示在列表中的文本和图像视图。