Java 如何从列表视图中选择项目?
我的类扩展活动,而不是ListActivity。我有这个创建方法的代码,但是我从列表中选择了一个项目,它的背景不是橙色的。我必须在emulator中向下移动箭头才能在listview上导航 当我单击emulator上的按钮中心时,日志不会显示消息 我厌倦了尝试很多想法,当我从列表中选择一个项目时,我仍然没有得到行动。 有什么建议吗??非常感谢Java 如何从列表视图中选择项目?,java,android,android-listview,Java,Android,Android Listview,我的类扩展活动,而不是ListActivity。我有这个创建方法的代码,但是我从列表中选择了一个项目,它的背景不是橙色的。我必须在emulator中向下移动箭头才能在listview上导航 当我单击emulator上的按钮中心时,日志不会显示消息 我厌倦了尝试很多想法,当我从列表中选择一个项目时,我仍然没有得到行动。 有什么建议吗??非常感谢 final List<Profile> profilesList = getProfilesList(); ProfileAr
final List<Profile> profilesList = getProfilesList();
ProfileArrayAdapter3 adapter = new ProfileArrayAdapter3(
getApplicationContext(), R.layout.profiles_item, profilesList);
listViewProfiles = (ListView) this.findViewById(R.id.profilesList);
listViewProfiles.setAdapter(adapter);
listViewProfiles.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
Toast.makeText(getApplicationContext(), profilesList.get(position).getCardNumber(), Toast.LENGTH_SHORT).show();
Log.d("cardNumber",profilesList.get(position).getCardNumber());
}});
final List profilesList=getProfilesList();
ProfileArrayAdapter3适配器=新的ProfileArrayAdapter3(
getApplicationContext(),R.layout.profiles_项,profilesList);
listViewProfiles=(ListView)this.findViewById(R.id.profilesList);
setAdapter(适配器);
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共视图单击(适配器视图a、视图v、内部位置、长id){
Toast.makeText(getApplicationContext(),profilesList.get(position).getCardNumber(),Toast.LENGTH_SHORT).show();
Log.d(“cardNumber”,profilesList.get(position.getCardNumber());
}});
个人而言,我更喜欢在视图中使用click Listener,而不是在列表中使用itemclicklistener。单击可以共享视图上的侦听器,您将使用onClick参数获得事件的源
以下是一个例子:
private SharedClickListener sharedListener = new SharedClikListener();
private class MovieArrayAdapter extends ArrayAdapter<Movie>
{
public MovieArrayAdapter()
{
super(getApplicationContext(), R.layout.profiles_item, profilesList);
}//cons
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//you should build your own views here and fill them with
//a profile object, here I use super to compile the example
View view = super.getView(position, convertView, parent );
view.setOnClickListener( sharedListener );
return view;
}//met
}//inner class
private class ItemClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), ((your view class)v).getProfile().getCardNumber(), Toast.LENGTH_SHORT).show();
Log.d("cardNumber",((your view class) v).getProfile().getCardNumber());
}// met
}//inner class
private-SharedClickListener-sharedListener=new-SharedClickListener();
私有类电影ArrayAdapter扩展了ArrayAdapter
{
公共电影ArrayAdapter()
{
super(getApplicationContext(),R.layout.profiles\u项,profilesList);
}//缺点
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//您应该在这里构建自己的视图,并用
//一个profile对象,这里我使用super来编译这个示例
视图=super.getView(位置、转换视图、父级);
view.setOnClickListener(sharedListener);
返回视图;
}//遇见
}//内部阶级
私有类ItemClickListener实现View.OnClickListener{
@凌驾
公共void onClick(视图v){
Toast.makeText(getApplicationContext(),((您的视图类)v).getProfile().getCardNumber(),Toast.LENGTH\u SHORT).show();
Log.d(“cardNumber”,((您的视图类)v.getProfile().getCardNumber());
}//遇见
}//内部等级
问候,,
斯泰芬对不起,我为没有发现我的错误而难过