ListView,带有 3 个文本列,onClick 侦听器不起作用

问题描述

我有一个 ListView,其中包含 3 列 TextView,我在选择一行执行操作时尝试工作,所以我开始尝试使用 Toast 消息,但没有正在显示,请有人帮忙。

    public class ViewListContents extends AppCompatActivity {

DatabaseHelper myDB;
ArrayList<User> userList;
ListView listView;
User user;
TextView firstName;
TextView lastName;
TextView favFood;
MediaPlayer player;
private int featureCustomTitle;
ThreeColumn_listadapter adapter;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.viewcontents_layout);
    myDB = new DatabaseHelper(this);
    userList = new ArrayList<>();
    Cursor data = myDB.getListContents();
    ListView listView = (ListView) findViewById(R.id.listView);
    TextView firstName = (TextView) findViewById(R.id.textFirstName);
    TextView lastName = (TextView) findViewById(R.id.textLastName);
    TextView favFood = (TextView) findViewById(R.id.textFavFood);
    ThreeColumn_listadapter adapter = new ThreeColumn_listadapter(this,R.layout.list_adapter_view,userList);
    listView.setAdapter(adapter);

    player = MediaPlayer.create(this,Settings.System.DEFAULT_ALARM_ALERT_URI);
    int numRows = data.getCount();
    if (numRows == 0) {
        Toast.makeText(ViewListContents.this,"The Database is empty  :(.",Toast.LENGTH_LONG).show();
    } else {
        int i = 0;
        while (data.movetoNext()) {
            user = new User(data.getString(1),data.getString(2),data.getString(3));
            userList.add(i,user);
            System.out.println(data.getString(1) + " " + data.getString(2) + " " + data.getString(3));
            System.out.println(userList.get(i).getFirstName());
            i++;
        }

    }
  
    listView.setonItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent,View view,int position,long id) {
            player.setLooping(true);
            player.start();
            Toast.makeText(getApplicationContext(),"selected Item Name is " + listView.getItemAtPosition(position),Toast.LENGTH_SHORT).show();
        }
    });
}

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...