Java 如何从列表视图中选择项目?

Java 如何从列表视图中选择项目?,java,android,android-listview,Java,Android,Android Listview,我的类扩展活动,而不是ListActivity。我有这个创建方法的代码,但是我从列表中选择了一个项目,它的背景不是橙色的。我必须在emulator中向下移动箭头才能在listview上导航 当我单击emulator上的按钮中心时,日志不会显示消息 我厌倦了尝试很多想法,当我从列表中选择一个项目时,我仍然没有得到行动。 有什么建议吗??非常感谢 final List<Profile> profilesList = getProfilesList(); ProfileAr

我的类扩展活动,而不是ListActivity。我有这个创建方法的代码,但是我从列表中选择了一个项目,它的背景不是橙色的。我必须在emulator中向下移动箭头才能在listview上导航

当我单击emulator上的按钮中心时,日志不会显示消息

我厌倦了尝试很多想法,当我从列表中选择一个项目时,我仍然没有得到行动。 有什么建议吗??非常感谢

      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());
}//遇见
}//内部等级
问候,,
斯泰芬

对不起,我为没有发现我的错误而难过