0

我有一个带有两列的列表视图,用户可以在其中将 productName 和 prostQty 与股票进行比较。该列表中有很多产品,用户可能会混淆所有这些产品。因此,这个想法是通过使用焦点来突出产品及其价格。

有谁知道是否可以像在虚拟键盘上一样在列表视图中实现它(它不是 onLongTouch 或单击)?

任何人都可以提示如何做到这一点?

非常感谢

4

2 回答 2

1

好的,就像在车轮选择器 iPhone 的情况下,我们可以突出显示产品,只需按照以下步骤操作

  1. 实现列表的 onscrollchangedlistener 。
  2. 将列表放在相对布局中,在 centerinparent 和 fillparent 的另一个视图中,您将显示突出显示的项目。

  3. 当列表滚动时,在覆盖的 onscroll 方法中更新该视图上的内容。

于 2013-02-22T11:53:17.940 回答
0

您需要使用 View Holder Pattern。您可以在 Google 上找到更多信息。

只需在每一行上创建一个名为 的类AdapterViewHolder,声明属性。Views

例如:

public class AdapterViewHolder
{

    ImageView myImageView;

    TextView myTextView;

    ...

}

在构造函数中将您的值传递给设置views,初始化views并设置您的值,例如:

public AdapterViewHolder(String param, Drawable imageDrawable){

// set values to views

}

getView方法中的适配器中:

if convertView == null 

//then create your layout and holder class, set your holder to your layout by view.setTag method, prepare your view and return it

else

//get your layout tag by view.getTag(), cast it to AdapterViewHolder and update your views and values of them as you like and then return updated view.

有关更多信息,请在 android listviews 中搜索 ViewHolder Pattern。

于 2013-02-22T12:06:10.703 回答