1

我试图在网格视图中的图像上方放置一个文本,但我无法做到这一点。我的应用程序将有一个带有图片的网格视图,当我点击每张图片时,我已经实时地将点击量放在了这张图片的上方。

我创建了一个适配器,我的图像出现在我的活动中。

我怎么能做到这一点,在 Android 上?

4

2 回答 2

0

在您的适配器中(或任何适合存储此数据的地方,具体取决于此点击数据的寿命),添加某种数据结构以维持每个位置的点击次数。在适配器的 getView() 中,您应该根据存储在数据结构中的点击次数将文本设置在该位置。

在您的列表项单击侦听器中,增加数据结构中的单击计数,然后调用notifyDatasetChanged()您的适配器。

于 2013-05-22T18:57:56.393 回答
0

您可以通过 onItemClickListener 来完成

public View getView(int position, View convertView, ViewGroup parent) {
    View view = convertView;

    if (view == null) {
        // Create the view here
        Holder tag = new Holder();
        tag.textView = (TextView) view.findViewById(textViewId);
        view.setTag(tag);
    }
    if (counts[position] == 0) {
        tag.textView.setVisibility(View.INVISIBLE);
    else {
        tag.textView.setVisibility(View.VISIBLE);
        tag.textView.setText("" + counts[position]);
    }
    ...
}

gridView.setAdapter(adapter);
int[] counts = new int[// item count];
gridView.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Holder tag = (Holder) view.getTag();
        if (tag != null) {
            counts[position] = counts[position] + 1;
            tag.textView.setText("" + counts[position]);
        }
    }
}

您需要将外部计数作为成员变量进行跟踪。

于 2013-05-22T18:52:01.157 回答