【问题标题】:ClickListener for Slide Menu items幻灯片菜单项的 ClickListener
【发布时间】:2013-08-13 11:48:36
【问题描述】:

我在名为 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);

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

谢谢!

【问题讨论】:

  • 我做了这样的事情,所有的工作:findViewById(R.id.pMenuProfileInformation).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext( ), "blablabal", Toast.LENGTH_SHORT).show(); } });
  • 请将此添加为答案并自行接受。以便其他人可以参考。

标签: android menuitem onclicklistener slidingmenu


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    jfeinstein 滑动菜单示例使用扩展 ListFragment 的 SampleListFragment 适配器

    ListFragment 有一个覆盖方法“onListItemClick()”,可用于实现基于菜单位置的滑动菜单项单击操作

    @Override
    public void onListItemClick(ListView l, View v, int position, long id){
    
                Toast.makeText(getActivity().getApplicationContext(),"Clicked", Toast.LENGTH_SHORT).show();
    
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-27
      • 2015-05-27
      • 2017-02-18
      • 2013-12-31
      • 1970-01-01
      • 1970-01-01
      • 2017-10-21
      • 1970-01-01
      相关资源
      最近更新 更多