我对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);
}}
知道为什么会这样做...... ??
答案 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)
您可以尝试使用下面的内容
,而不是在活动中实现OnItemClickListenerpublic 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) {
}
};
}