繁体   English   中英

onListItemClick无法启动

[英]onListItemClick won't start

我正在尝试放置onListItemClick,但是当我启动我的应用程序时,onListItemClick却没有任何反应。 谁能帮我这个?

这是我的代码:

    @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    db = (new DatabaseHelper(this)).getWritableDatabase();
    searchText = (EditText) findViewById(R.id.searchText);
    employeeList = (ListView) findViewById(R.id.list);

    Button searchButton = (Button) findViewById(R.id.searchButton);
    searchButton.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {
            search(employeeList);
        }
    });

}

public void search(View view) {
    // || is the concatenation operation in SQLite
    cursor = db
            .rawQuery(
                    "SELECT _id, firstName, lastName, title  FROM employee WHERE firstName || ' ' || lastName LIKE ?",
                    new String[] { "%" + searchText.getText().toString()
                            + "%" });
    adapter = new SimpleCursorAdapter(this, R.layout.employee_list_item,
            cursor, new String[] { "firstName", "lastName", "title" },
            new int[] { R.id.firstName, R.id.lastName, R.id.title });
    employeeList.setAdapter(adapter);

}




    public void onListItemClick(ListView parent, View view, int position, long id) {
        Intent intent = new Intent(this, EmployeeDetails.class);
        Cursor cursor = (Cursor) adapter.getItem(position);
        intent.putExtra("EMPLOYEE_ID", cursor.getInt(cursor.getColumnIndex("_id")));
        startActivity(intent);
    }

}

没有错误消息,搜索工作正常。

employeeList = (ListView) findViewById(R.id.list);

将这些行添加到上面的行下面

employeeList = (ListView) findViewById(R.id.list);
employeeList .setOnItemClickListener(this);

更新::示例代码

public class SampleActivity extends Activity implements OnItemClickListener{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(mWebView);
    }
    @Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
       // TODO Auto-generated method stub
}
}

setOnItemClickListener为您的listview注册一个OnItemClickListener()

listView.setOnItemClickListener(new OnItemClickListener() {
    @Override public void onItemClick(AdapterView<?> adapter, View view, int pos, long id) {
        Intent intent = new Intent(this, EmployeeDetails.class);
        Cursor cursor = (Cursor) adapter.getItem(pos);
        intent.putExtra("EMPLOYEE_ID", cursor.getInt(cursor.getColumnIndex("_id")));
        startActivity(intent);                
    }
});

您必须在代码中将侦听器注册为listview.setOnItemClickListener(this)

尝试这个

listview.setOnItemClickListener(new OnItemClickListener() {

     // Your Code Goes Here
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM