在ListFragment中添加onListItemLick / onItemLongClick

时间:2015-09-04 16:26:04

标签: android android-listfragment simplecursoradapter onitemclicklistener

在评论中解释:Adding onListItemLick/onItemLongClick in a ListFragment 问题是由ListFragment中单个元素的布局中的ImageButton生成的,即使focusable元素设置为false,它也在窃取输入,所以我不得不从布局中删除它。 / p>

我有一个由SimpleCursorAdapter扩展类填充的ListFragment(主要用于覆盖newView方法)但我想在用户按下(或长按)适配器生成的列表中的项目时添加AlertDialog 。 我使用onListItemClick方法通过简单的日志写入尝试了onItemLongClickLog.d,但两种情况都没有发生任何事情,我不知道问题出在哪里,因为代码非常简单:

public class FragmentD extends ListFragment {

private SQLiteDatabase db;

@Override
public void onActivityCreated (Bundle savedInstanceState) {

    super.onActivityCreated(savedInstanceState);

    myDatabase myDBHelper = new myDatabase(getActivity());
    db = myDBHelper.getWritableDatabase();

    Log.d("DB", "Insert fatto");

    String[] res_columns = new String[] {myDatabase.COLUMN2, myDatabase.COLUMN2,};
    String sortOrder = myDatabase.COLUMN1 + " DESC";

    String where = "*";

    Cursor testCursor = db.rawQuery("select * from " + database.DATABASE_TABLE, null);

    myAdapter adapter = new myAdapter(getActivity(),
            R.layout.list_element,
            testCursor,
            res_columns,
            new int[] { },
            0);

    setListAdapter(adapter);
}

@Override
public void onListItemClick (ListView l, View v, int pos, long id) {
    super.onListItemClick(l, v, pos, id);
        Log.d("CLICK", "pressed");
    }

3 个答案:

答案 0 :(得分:1)

编辑答案:     也许布局的组件正在窃取布局的其他组件的输入

答案 1 :(得分:0)

添加超级构造函数并覆盖它:

$scope.JsonVar.unshift({SubLoc:'Select', Description:'Select'});

编辑:试试这段代码

@Override
public void onListItemClick (ListView l, View v, int pos, long id) {
    super.onListItemClick(l, v, pos, id);
    Log.d("CLICK", "pressed");
}

答案 2 :(得分:0)

我有两个解决方案

  1. 简单覆盖onListItemClick

    @覆盖 public void onListItemClick(ListView l,View v,int position,long id){       super.onListItemClick(l,v,position,id);

    git clone http://[IP]:80/project.git

    }

  2. 在根布局上。添加此代码

    机器人:descendantFocusability = “blocksDescendants”

  3. 希望有所帮助