* 編輯: *我現在就開始工作了。在下面的代碼中做了必要的修改。滑動菜單的自定義列表視圖
我想在android應用程序中創建slidingng菜單。滑動菜單必須包含具有圖像和文本視圖的自定義列表視圖。雖然我能夠獲得滑動菜單,但似乎無法將任何內容放入列表視圖中。
這是我的主要活動:
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,其中包含應顯示在列表中的文本和圖像視圖。
我沒有看到你在哪裏把任何物品放入你的MenuAdapter。 – 2013-03-25 08:07:13
我沒有得到你。我使用了tv.setText()方法。 – Anirudh 2013-03-25 08:13:27