该怎么办??
我现在只能让item被选中的position记录在一个链表里,但是如何让用户也知道处于选中状态??
本来想用变色来实现的。但是我取消选中的话,会变成黑色,使背景图片不能显示了。
现在的想法是:在该行view后边加一个“对号”图片,选中后,使图片的可见状态变成true。这个图片该怎么加,又该怎么取得??
代码如下:
class listListener implements OnItemClickListener { public void onItemClick(AdapterView<?> arg0, View view, int position,
long arg3) {
// makeList(db, listview);
try {
if (!positions.contains(position)) {
positions.add(position);
view.setBackgroundColor(Color.rgb(r, g, b));
} else {
positions.remove(positions.indexOf(position)); // 特别注意,仍然有问题;
view.setBackgroundColor(Color.BLACK);
}
System.out.println(view.getId());
} catch (IndexOutOfBoundsException e) {
System.out.println("出错误了,溢出错误");
}
} }
我现在只能让item被选中的position记录在一个链表里,但是如何让用户也知道处于选中状态??
本来想用变色来实现的。但是我取消选中的话,会变成黑色,使背景图片不能显示了。
现在的想法是:在该行view后边加一个“对号”图片,选中后,使图片的可见状态变成true。这个图片该怎么加,又该怎么取得??
代码如下:
class listListener implements OnItemClickListener { public void onItemClick(AdapterView<?> arg0, View view, int position,
long arg3) {
// makeList(db, listview);
try {
if (!positions.contains(position)) {
positions.add(position);
view.setBackgroundColor(Color.rgb(r, g, b));
} else {
positions.remove(positions.indexOf(position)); // 特别注意,仍然有问题;
view.setBackgroundColor(Color.BLACK);
}
System.out.println(view.getId());
} catch (IndexOutOfBoundsException e) {
System.out.println("出错误了,溢出错误");
}
} }
你说的加图片,要加载listView的layout里,继承baseadapter实现自己的adapter,
在getView里连接图片。
item被选中的position记录在一个链表里
这个做法不好。不要记录position ,应该记录item 的id之类的东西。
class BottomListener implements OnItemClickListener { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
SwitchActivity(arg2);
}
}private void SwitchActivity(int arg2) {
bottomadapter.SetFocus(arg2);
package com.renrenwei.adapter;import com.renrenwei.activity.R;import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;public class ActivityGroupAdapter extends BaseAdapter {
private int bottomnum;
private LayoutInflater layoutinflater;
private View myview;
private int index = 0; public ActivityGroupAdapter(Context c, int bottomnum) {
this.bottomnum = bottomnum;
this.layoutinflater = LayoutInflater.from(c);
} public int getCount() {
return bottomnum;
} public void SetFocus(int index) {
this.index = index;
// this.notifyDataSetChanged();
this.notifyDataSetInvalidated();// 刷新界面
} public Object getItem(int position) {
return position;
} public long getItemId(int position) {
return position;
} public View getView(int position, View convertView, ViewGroup parent) {
myview = layoutinflater.inflate(R.layout.group_bottom_item, null);
ImageView imageview = (ImageView) myview
.findViewById(R.id.imageview_bottom);
TextView textview = (TextView) myview
.findViewById(R.id.textview_bottom);
if (position == 0) {
imageview.setBackgroundResource(android.R.drawable.ic_menu_mapmode);
textview.setText(R.string.Group_Item_Main);
}
if (position == 1) {
imageview
.setBackgroundResource(android.R.drawable.ic_menu_myplaces);
textview.setText(R.string.Group_Item_My);
}
if (position == 2) {
imageview.setBackgroundResource(android.R.drawable.ic_menu_share);
textview.setText(R.string.Group_Item_square);
}
if (position == 3) {
imageview.setBackgroundResource(android.R.drawable.ic_menu_more);
textview.setText(R.string.Group_Item_More);
}
if (position == index) {
myview.setBackgroundResource(R.drawable.css_biaoqian);
} else {
myview.setBackgroundResource(0);
}
return myview;
}
}