我试图在网格视图中的图像上方放置一个文本,但我无法做到这一点。我的应用程序将有一个带有图片的网格视图,当我点击每张图片时,我已经实时地将点击量放在了这张图片的上方。
我创建了一个适配器,我的图像出现在我的活动中。
我怎么能做到这一点,在 Android 上?
在您的适配器中(或任何适合存储此数据的地方,具体取决于此点击数据的寿命),添加某种数据结构以维持每个位置的点击次数。在适配器的 getView() 中,您应该根据存储在数据结构中的点击次数将文本设置在该位置。
在您的列表项单击侦听器中,增加数据结构中的单击计数,然后调用notifyDatasetChanged()
您的适配器。
您可以通过 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]);
}
}
}
您需要将外部计数作为成员变量进行跟踪。