ClickListener用于幻灯片菜单项

时间:2013-08-13 11:48:37

标签: android menuitem onclicklistener slidingmenu

我在名为profile_sliding_menu.xml的.xml文件中定义了一个布局视图:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:focusableInTouchMode="true"
    android:orientation="vertical" >

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#b5b5b5" />

    <TextView
        android:id="@+id/pMenuProfileInformation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/ic_profile_information"
        android:drawablePadding="5dp"
        android:gravity="center"
        android:paddingLeft="5dp"
        android:paddingTop="3dp"
        android:clickable="true"
        android:text="@string/pMenuProfileInformation"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    ..........

</LinearLayout>

我从代码创建SlidingMenu:

SlidingMenu menu;
menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
menu.setMenu(R.layout.profile_sliding_menu);

它完美地显示了菜单,但我想在用户从菜单中选择一个选项时执行一些操作。 如何访问这些按钮并将其作为事件?

谢谢!

2 个答案:

答案 0 :(得分:3)

我做了这样的事情,一切正常:

findViewById(R.id.pMenuProfileInformation).setOnClickListener(
                    new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Toast.makeText(getApplicationContext(),
                                    "blablabal", Toast.LENGTH_SHORT).show();
                        }
                    });

答案 1 :(得分:0)

jfeinstein slidingmenu示例使用扩展ListFragment

的SampleListFragment Adapter

ListFragment有一个重写方法“onListItemClick()”,可用于根据菜单位置实现slidemenu项目点击操作

@Override
public void onListItemClick(ListView l, View v, int position, long id){

            Toast.makeText(getActivity().getApplicationContext(),"Clicked", Toast.LENGTH_SHORT).show();

}