listview控件可以多选吗(javafx的ListView如何实现多选的操作)
本文目录
- javafx的ListView如何实现多选的操作
- C#中利用ctrl 和shift 实现多选控件
- 一个listview既有单选又有多选
- 在vb界面设计中怎么实现多选的功能listboxlistview
- 怎样限制C#中listview多选,实现只能选择一条记录
- android怎么让listview的checkbox单选
- wpf listview怎么多选
- C# ListView控件 多选时复选框状态会改变,怎么让他不改变(附图)
javafx的ListView如何实现多选的操作
一个ListView通常有两个职责。(1)将数据填充到布局。(2)处理用户的选择点击等操作。第一点很好理解,ListView就是实现这个功能的。第二点也不难做到,在后面的学习中读者会发现,这非常简单。一个ListView的创建需要3个元素。(1)ListView中的每一列的View。(2)填入View的数据或者图片等。(3)连接数据与ListView的适配器。也就是说,要使用ListView,首先要了解什么是适配器。适配器是一个连接数据和AdapterView(ListView就是一个典型的AdapterView,后面还会学习其他的)的桥梁,通过它能有效地实现数据与AdapterView的分离设置,使AdapterView与数据的绑定更加简便,修改更加方便Android中提供了很多的Adapter,表4-5列出了常用的几个。
C#中利用ctrl 和shift 实现多选控件
winform里面的ListView控件可以利用ctrl 和shift 实现多选。
一个listview既有单选又有多选
一个listview既有单选又有多选输入三个整数,输出最大数和最小数。main(){ int a,b,c,max,min; printf("input three numbers: "); scanf("%d%d%d",&a,&b,&c); if(a》b) {max=a;min=b;} else {max=b;min=a;} if(max《c) max=c; else if(min》c) min=c; printf("max=%d\nmin=%d",max,min);}本程序中,首先比较输入的a,b的大小,并把大数装入max,小数装入min中,然后再与c比较,若max小于c,则把c赋予max;如果c小于min,则把c赋予min。因此max内总是最大数,而min内总是最小数。最后输出max和min的值即可。【例4.12】计算器程序。用户输入运算数和四则运算符,输出计算结果。main(){ float a,b; char c; printf("input expression: a+(-,*,/)b \n"); scanf("%f%c%f",&a,&c,&b); switch(c){ case ’+’: printf("%f\n",a+b);break; case ’-’: printf("%f\n",a-b);break; case ’*’: printf("%f\n",a*b);break; case ’/’: printf("%f\n",a/b);break; default: printf("input error\n"); }}
在vb界面设计中怎么实现多选的功能listboxlistview
把ListBox的MultiSelect属性设为1或2,即可实现多选。MultiSelect的意思就是多选。然后在程序中通过检测ListBox中Selected集合中每个元素的值是否为True就知道该值对应的选项是否选中了。
怎样限制C#中listview多选,实现只能选择一条记录
如果一定要控制不能多选那当我没回答过如果只是想避免的话,你可以再他多选时,默认他多选的第一条数据
android怎么让listview的checkbox单选
还是先来看看是不是你想要的效果:
不废话,直接上代码,很简单,代码里都有注释
单选
public class SingleActivity extends AppCompatActivity {
private ListView listView;
private ArrayList《String》 groups;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_single);
listView = (ListView) this.findViewById(R.id.lvGroup);
groups = new ArrayList《String》();
groups.add("11");
groups.add("22");
groups.add("33");
groups.add("44");
groups.add("55");
groups.add("66");
groups.add("77");
AdapterView.OnItemClickListener listItemClickListener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView《?》 parent, View view, int position, long id) {
// 取得ViewHolder对象,这样就省去了通过层层的findViewById去实例化我们需要的cb实例的步骤
SingleAdapter.ViewHolder viewHolder = (SingleAdapter.ViewHolder) view.getTag();
viewHolder.cb.toggle();// 把CheckBox的选中状态改为当前状态的反,gridview确保是单一选中
}
};
SingleAdapter adapter = new SingleAdapter(this, groups);
listView.setAdapter(adapter);
listView.setOnItemClickListener(listItemClickListener);
}
}
Adapter:
public class SingleAdapter extends BaseAdapter {
private Activity activity;//上下文
private ArrayList《String》 list;
private LayoutInflater inflater = null;//导入布局
private int temp = -1;
public SingleAdapter(Activity context, ArrayList《String》 list) {
this.activity = context;
this.list = list;
inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
//listview每显示一行数据,该函数就执行一次
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {//当第一次加载ListView控件时 convertView为空
convertView = inflater.inflate(R.layout.group_item_view, null);//所以当ListView控件没有滑动时都会执行这条语句
holder = new ViewHolder();
holder.tv = (TextView) convertView.findViewById(R.id.item_tv);
holder.cb = (CheckBox) convertView.findViewById(R.id.item_cb);
convertView.setTag(holder);//为view设置标签
} else {//取出holder
holder = (ViewHolder) convertView.getTag();
}
//设置list的textview显示
holder.tv.setTextColor(Color.WHITE);
holder.tv.setText(list.get(position));
// 根据isSelected来设置checkbox的选中状况
holder.cb.setId(position);//对checkbox的id进行重新设置为当前的position
holder.cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if (isChecked) {//实现checkbox的单选功能,同样适用于radiobutton
if (temp != -1) {
//找到上次点击的checkbox,并把它设置为false,对重新选择时可以将以前的关掉
CheckBox tempCheckBox = (CheckBox) activity.findViewById(temp);
if (tempCheckBox != null)
tempCheckBox.setChecked(false);
}
temp = compoundButton.getId();//保存当前选中的checkbox的id值
}
}
});
if (position == temp)//比对position和当前的temp是否一致
holder.cb.setChecked(true);
else
holder.cb.setChecked(false);
return convertView;
}
public static class ViewHolder {
TextView tv;
CheckBox cb;
}
}
多选:
public class MulActivity extends AppCompatActivity {
private ListView listView;
private ArrayList《String》 groups;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mul);
listView = (ListView) this.findViewById(R.id.list);
groups = new ArrayList《》();
groups.add("11");
groups.add("22");
groups.add("33");
groups.add("44");
groups.add("55");
groups.add("66");
groups.add("77");
AdapterView.OnItemClickListener listItemClickListener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView《?》 parent, View view, int position,
long id) {
// 取得ViewHolder对象,这样就省去了通过层层的findViewById去实例化我们需要的cb实例的步骤
MulAdapter.ViewHolder viewHolder = (MulAdapter.ViewHolder) view.getTag();
viewHolder.cb.toggle();// 把CheckBox的选中状态改为当前状态的反,gridview确保是单一选中
MulAdapter.getIsSelected().put(position, viewHolder.cb.isChecked());//将CheckBox的选中状况记录下来
}
};
MulAdapter adapter = new MulAdapter(this, groups);
listView.setAdapter(adapter);
listView.setOnItemClickListener(listItemClickListener);
}
}
Adapter:
public class MulAdapter extends BaseAdapter {
private Context context;//上下文
private ArrayList《String》 list;
//控制CheckBox选中情况
private static HashMap《Integer, Boolean》 isSelected;
private LayoutInflater inflater = null;//导入布局
public MulAdapter(Context context, ArrayList《String》 list) {
this.context = context;
this.list = list;
inflater = LayoutInflater.from(context);
isSelected = new HashMap《Integer, Boolean》();
initData();
}
private void initData() {//初始化isSelected的数据
for (int i = 0; i 《 list.size(); i++) {
getIsSelected().put(i, false);
}
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
//listview每显示一行数据,该函数就执行一次
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {//当第一次加载ListView控件时 convertView为空
convertView = inflater.inflate(R.layout.group_item_view, null);//所以当ListView控件没有滑动时都会执行这条语句
holder = new ViewHolder();
holder.tv = (TextView) convertView.findViewById(R.id.item_tv);
holder.cb = (CheckBox) convertView.findViewById(R.id.item_cb);
convertView.setTag(holder);//为view设置标签
} else {//取出holder
holder = (ViewHolder) convertView.getTag();//the Object stored in this view as a tag
}
//设置list的textview显示
holder.tv.setTextColor(Color.WHITE);
holder.tv.setText(list.get(position));
// 根据isSelected来设置checkbox的选中状况
holder.cb.setChecked(getIsSelected().get(position));
return convertView;
}
public static class ViewHolder {
TextView tv;
CheckBox cb;
}
public static HashMap《Integer, Boolean》 getIsSelected() {
return isSelected;
}
public static void setIsSelected(HashMap《Integer, Boolean》 isSelected) {
MulAdapter.isSelected = isSelected;
}
}
以上所述是给介绍的Android中ListView + CheckBox实现单选、多选效果
wpf listview怎么多选
它有SelectedItems属性,另外在命令绑定中使用ElementName绑定,CommandParameter=lsv.SelectedItems,可以在命令的object parameter参数中转换为System.Collection.IList,从而在命令中获取SelectedItems。
C# ListView控件 多选时复选框状态会改变,怎么让他不改变(附图)
多选,为什么要按Ctrl或Shift?复选框本来就是直接点击就ok的按Shift会进行文本的选择,导致变成蓝色了
更多文章:
直流开关电源(给开关电源一个直流电,开关电源还能稳定工作吗)
2024年7月19日 04:36
timeout官网(手机登录某个网站总是出现504gateway timeout)
2024年10月19日 07:45
html5选择器(“html5”的CSS3选择器中“:first-child”和“:last-child”是什么)
2024年6月30日 05:30
尚学堂现在有大数据就业班课程吗?尚学堂Java培训线上和线下课程有什么区别么
2024年6月25日 15:28
zblog源码下载((有关zblog) asp源码的问题,如何将以下源码写入c_custom.asp而不错)
2024年7月24日 01:14
vuechange事件(Vue element Switch @change事件死循环解决方式)
2024年7月11日 13:54
resource hacker中文版(resource hacker怎么汉化)
2024年3月23日 17:50
bootstrap方法的应用(统计学中bootstrap的具体含义,中文名字,用法举例)
2024年7月10日 08:03
transcript什么意思(transcript 是什么意思)
2024年7月13日 11:25
哈希宝app苹果版怎么下载?三星颗粒1660s挖eth参数设置
2024年7月2日 20:19
scala case(Scala 中的case关键字在这里是什么意思)
2024年7月22日 16:57
checkers是什么意思(checkers是什么意思及反义词)
2024年6月26日 05:27