2013-03-25 25 views
1

* 編輯: *我現在就開始工作了。在下面的代碼中做了必要的修改。滑動菜單的自定義列表視圖

我想在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,其中包含應顯示在列表中的文本和圖像視圖。

+0

我沒有看到你在哪裏把任何物品放入你的MenuAdapter。 – 2013-03-25 08:07:13

+0

我沒有得到你。我使用了tv.setText()方法。 – Anirudh 2013-03-25 08:13:27

回答

0

覆蓋,getCount()方法MenuAdapter返回一些大於1的值,如2,10。然後您將能夠看到列表項。

+0

它仍然無法正常工作。實際上我只是意識到getView()方法根本沒有被調用! – Anirudh 2013-03-25 08:27:03

+0

實際上getCount()方法確實讓它起作用。我必須對已更新的代碼進行一些更改。謝謝你的幫助。 – Anirudh 2013-03-25 09:38:52