*編集: *これが機能するようになりました。以下のコードに必要な変更を加えました。
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です。