java - 如何使用 SlideMenu 检测 ListView 行单击

标签 java android

我正在使用SlideMenu ,我已经实现了 Fragment 和 ListView,我现在需要的是检测用户从幻灯片菜单中单击了哪一行。我怎么可能做到呢? 这是listView的代码:

public class listFragment extends ListFragment {

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.menu, null);
}

public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
    SampleAdapter adapter = new SampleAdapter(getActivity());
    adapter.add(new SampleItem("menu left A", android.R.drawable.ic_menu_search));
    adapter.add(new SampleItem("menu left B", android.R.drawable.ic_menu_search));
    adapter.add(new SampleItem("menu left C", android.R.drawable.ic_menu_search));
    adapter.add(new SampleItem("menu left D", android.R.drawable.ic_menu_search));
    adapter.add(new SampleItem("menu left A", android.R.drawable.ic_menu_search));
    setListAdapter(adapter);

}

private class SampleItem {
    public String tag;
    public int iconRes;
    public SampleItem(String tag, int iconRes) {
        this.tag = tag; 
        this.iconRes = iconRes;
    }
}

public class SampleAdapter extends ArrayAdapter<SampleItem> {

    public SampleAdapter(Context context) {
        super(context, 0);
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.row, null);
        }
        ImageView icon = (ImageView) convertView.findViewById(R.id.row_icon);
        icon.setImageResource(getItem(position).iconRes);
        TextView title = (TextView) convertView.findViewById(R.id.row_title);
        title.setText(getItem(position).tag);

        return convertView;
    }

    }
  }

最佳答案

据我了解,方法

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.menu, null);

将返回ListView对象。所以你可以调用 setOnItemClickListener() 方法。像这样的事情:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ListView list = (ListView) inflater.inflate(R.layout.menu, null);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
     @Override
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
     // write your click handler here
     }
});
return list;

关于java - 如何使用 SlideMenu 检测 ListView 行单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31027823/

相关文章:

java - 几个问题,当使用 TestNG 使用多线程运行测试方法时

android - Android开发人员的翻译平台

android - 如何通过单击更改整个应用程序的语言?

java - 堆转储路径 : %p not working

java - 不透明内容到底是什么意思?

java - 如何在 Java 中使用 Selenium WebDriver 打开新选项卡?

android - 如何以编程方式设置角半径?

android - 弹出无法在 Android studio 上运行 Android 应用编辑配置

java - Spinner OnItemSelected在Android Studio中不起作用

java - 如何控制老年代的java堆大小?