Android 从列表视图中选择单个项目

Android 从列表视图中选择单个项目,android,listview,Android,Listview,我正在显示一个包含文本视图和图像视图的列表视图。图像视图是隐藏的。我想要的是,当用户从listview中选择一个项目时,他会看到该listview项目中的图像。但当他选择另一个项目时,他应该会看到,那个特定列表视图项目中的图像。我是dng这个,:: final String[] TYPE = new String[] { "Movie Top 100", "TV Top 100", "All" }; ListView listview = (ListView) findView

我正在显示一个包含文本视图和图像视图的列表视图。图像视图是隐藏的。我想要的是,当用户从listview中选择一个项目时,他会看到该listview项目中的图像。但当他选择另一个项目时,他应该会看到,那个特定列表视图项目中的图像。我是dng这个,::

    final String[] TYPE = new String[] { "Movie Top 100", "TV Top 100", "All" };

    ListView listview = (ListView) findViewById(R.id.typescreenlistview);
    listview.setAdapter((new ArrayAdapter(this, R.layout.typelist, R.id.heading, TYPE)));
    listview.setTextFilterEnabled(true);
    listview.setOnItemClickListener(new OnItemClickListener()
    {
      public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3)
      {
        ImageView click = (ImageView) arg1.findViewById(R.id.click);
        click.setImageResource(R.drawable.play);
      }
    });
我应该使用什么条件??
Thanx提前。

列表视图中,每当用户单击某个项目时,请使该项目中的
图像视图可见,如下所示:

    listview.setOnItemClickListener(new OnItemClickListener()
    {
      public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3)
      {
        ImageView click = (ImageView) arg1.findViewById(R.id.click);
        click.setVisibility(View.VISIBLE);
      }
    });

此外,我建议使用自定义适配器,以便在
getView
中,可以将未单击的listview项设置为
不可见的
。请参阅,以获取有关为<代码>列表视图使用自定义适配器的教程。是否要通过单击列表视图显示图像?你能更清楚一点吗?我的列表中有3个项目,我想当用户单击第一个项目时,该项目中会显示图像,这将向用户显示该项目已被选中,当用户单击第二个项目时,该项目应该有图像,但是第一个项目现在不应该有图像…可以在listview项目中迭代,并设置隐藏和显示所需的内容。如果我正确理解您的意思,您希望通过在列表视图上显示图像来指示用户单击了列表项。对吧?我建议你试试拉贾斯的答案。。。这是完美的,我使用了高效的适配器,在它的获取视图方法中,我称之为不可见bt nthng正在发生…..公共视图getView(int位置,视图convertView,视图组父项){ViewHolder holder;convertView=mInflater.inflate(R.layout.typelist,null);holder=new ViewHolder();holder.text=(TextView)convertView.findViewById(R.id.heading);convertView.setTag(holder);holder.image=(ImageView)convertView.findViewById(R.id.click);convertView.setTag(holder);holder.image.setVisibility(View.INVISIBLE);