可点击列表视图不工作

Clickable listView not working

我是 android 的新手,正在处理可点击的列表视图,我遇到的问题是,除了既不显示 toast 也不在终端显示输出之外,这一切都工作正常 window。 我的 listView 没有任何图像子项,它只是列表 form.Therefore 中的文本,没有 Focusability 问题。 这是我的代码

public class FavoritePage extends AppCompatActivity implements OnItemClickListener {

private ListView lv;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_favorite_page);
    DataBaseHandler db = new DataBaseHandler(this);
    db.add_activity("");
    lv = (ListView) findViewById(R.id.listView);
    ArrayAdapter<String> arr2 = new ArrayAdapter<String>(getApplicationContext(), R.layout.simple_colum, db.getalllist());
    lv.setAdapter(arr2);
    db.del_activity("");


}


@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    String data = (String) parent.getItemAtPosition(position);
    Toast.makeText(getApplicationContext(), "This is my Toast message!",
            Toast.LENGTH_LONG).show();
    System.out.println("***************************************************************" + data);
}}

知道为什么要这样做吗??

我想下面的代码可以帮到你:-

lv.setOnItemClickListener(new OnItemClickListener() {
              public void onItemClick(AdapterView<?> parent, View view,
                  int position, long id) {

                  String data = (String) parent.getItemAtPosition(position);
    Toast.makeText(getApplicationContext(), "This is my Toast message!",
            Toast.LENGTH_LONG).show();
    System.out.println("***************************************************************" + data);
            });

您没有设置 onItemClickListener

onCreate 方法中的这一行 lv = (ListView) findViewById(R.id.listView); 之后添加这一行 lv.setOnItemClickListener(this)

此外,我建议在进行 Java 编程时使用驼峰命名法 style

嗯,首先你得给listView设置监听器。类似于:lv.setOnItemClickListener(this).

将此添加到 onCreate()findViewById() 代码下方。

除了在 activity 中实现 OnItemClickListener,您可以尝试下面的方法

public class FavoritePage extends AppCompatActivity {

private ListView lv;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_favorite_page);
    DataBaseHandler db = new DataBaseHandler(this);
    db.add_activity("");
    lv = (ListView) findViewById(R.id.listView);
    ArrayAdapter<String> arr2 = new ArrayAdapter<String>(getApplicationContext(), R.layout.simple_colum, db.getalllist());
    lv.setAdapter(arr2);
    lv.setOnItemClickListener(clickListener);
    db.del_activity("");
}

private AdapterView.OnItemClickListener clickListener = new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    }
};

}