ListView OnLongClickListener不起作用

时间:2015-07-30 09:51:53

标签: android android-layout listview

我想更改ListView的背景颜色,但不能与听众OnLongClickListener一起使用。

听众OnItemLongClickListener有效,但为什么OnLongClickListener没有?

代码:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    /*
        etc..
    */
    ListView lv = (ListView)ret.findViewById(R.id.lun_list);
    lv.setAdapter(oa);
    lv.setBackgroundColor(Color.BLACK);

    lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
            showPopup();
            return false;
        }
    });
    lv.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View view) {
            showTest();
            return false;
        }
    });

    return ret;
}
private void showTest(){
    FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
    getView().findViewById(R.id.lun_list).setBackgroundColor(Color.YELLOW);
}

3 个答案:

答案 0 :(得分:0)

您是否已将以下属性添加到列表视图中以处理OnLongClickListener 请设置android:longClickable="true"

答案 1 :(得分:0)

在java代码中使用listView.setLongClickable(true)或将属性android:longClickable:"true"添加到xml布局文件中的ListView

答案 2 :(得分:0)

避免问题:

我在WrapContent Height中设置ListView,所以现在我可以在OnLongClickListener的背景中添加Fragment并执行我的活动。