可点击列表查看无法正常工作

时间:2017-03-01 17:53:55

标签: android listview onitemclicklistener

我对Android很新,正在研究可点击的列表视图,我遇到的问题是,每一个都正常工作,除了toast没有显示,输出也显示在终端窗口中。 我的listView没有任何图像子,它只是列表形式的文本。因此,没有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);
}}

知道为什么会这样做...... ??

4 个答案:

答案 0 :(得分:1)

我想以下代码可以帮助您: -

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);
            });

答案 1 :(得分:1)

您缺少设置onItemClickListener

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

另外,我建议在进行Java编程时使用camelCase style

答案 2 :(得分:1)

好吧,首先你必须将监听器设置为listView。类似于:lv.setOnItemClickListener(this)

在您onCreate()代码正下方的findViewById()中添加此内容。

答案 3 :(得分:1)

您可以尝试使用下面的内容

,而不是在活动中实现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) {
    }
};

}