当前位置:首页 » 安卓系统 » androidcheckbox单选框

androidcheckbox单选框

发布时间: 2022-08-17 06:56:37

❶ 如何把checkbox做成单选框

(1)复选框可以允许你选择多个设置,而单选框则允许你选择一个设置;
这两个选框的区别是一个通过用圆圈表示,一个通过用方框表示。

(2)单选框:只能选中一项命令。是图形用户界面上的一种控件。它容许用户在一组选项中选择其中一个。单选框的外观一般是一个空白的圆洞。而在它的旁边则通常有一个文字的标签。它的用途除了描述之外,还可用于选择该选择:当用户按下标签,所应的选择钮就会被选上。已选上的选择钮一般会在圆洞内加上一小圆点。另外为了加强可亲性accessibility),单选框可以对应上一个快速键(access key),使用家可使用键盘上的按键来选择所应的选择钮。一般来说,标签上的快速键会用底线标示,例如“Activate”代表A为快速键。而当快速键没有在标签内出现,便会用括号表示,例如“启用(A)”。单选框一旦选上,除了选择另一个选项之外,便没法取消。所以有时在一些用户接口上会有空白的选择、重置或默认按钮。
(2)复选框,也叫做CheckBox,是一种基础控件。.NET的工具箱里包含这个控件,它可以通过其属性和方法完成复选的操作。为了完成更多复杂的需求,也出了第三方控件的复选框。只需要将其dll添加到工具箱里,就可以使用更多功能的复选框控件。

❷ Android清除checkbox选中状态 就是在点击提交按钮后,选中的取消掉

Radiobutton既单选框,多个单选框中必须有一个是选中的
如果你想选择之后又取消,那么要使用CheckBox来实现

改变它的状态,方式有三种:
1、XML中申明 android:check="true|false"
2、代码动态改变 checkBox.setChecked(true|false);
3、用户触摸 这个由android系统自动改变

❸ 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实现单选、多选效果

❹ android checkbox 是单选么

楼主,你看看这个程序可以满足你的要求吗/ //checkBox_top最上面的复选框 checkBox_top.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub if (checkBox_top.isChecked()) { checkBox_one.setChecked(true); checkBox_two.setChecked(true); checkBox_three.setChecked(true); }else { checkBox_one.setChecked(false); checkBox_two.setChecked(false); checkBox_three.setChecked(false); } } });

❺ android checkbox 怎么设置复选框的只读效果不让用户勾选

提到只读,很容易想到使用readonly属性,但是对于复选框来说,这个属性和期望得到的效果是有差别的。原因在于readonly属性关联的是页面元素的value属性(例如textbox,设置了readonly就不能修改输入框的文本内容),而复选框的勾选/取消并不改变其value属性,改变的只是一个checked状态。所以对于checkbox来说,设置了readonly,仍然是可以勾选/取消的。效果如下:
<input type="text" name="realname" value="只读的文本内容..." readonly="readonly" />
<input type="checkbox" name="optiona" readonly="readonly" />option a
<input type="checkbox" name="optionb" readonly="readonly" />option b
<input type="checkbox" name="optionc" readonly="readonly" />option c option a
option b
option c
和readonly类似的,还有一个disabled属性,这个属性的作用是设置页面元素为不可用,即不可进行任何交互操作(包括不可修改value属性、不可修改checked状态等)。效果如下:
<input type="text" name="realname" value="输入的文本内容..." disabled="disabled" />
<input type="checkbox" name="optiona" disabled="disabled" />option a
<input type="checkbox" name="optionb" disabled="disabled" />option b
<input type="checkbox" name="optionc" disabled="disabled" />option c option a
option b
option c
从上面我们可以看到,无论是readonly还是disabled,都没有实现我们期望的效果。既然直接实现不了,那么我们可以变通一下,模拟实现。代码如下:
<input type="checkbox" name="chkAllowed" onclick="return false;" checked="checked" />

❻ 安卓eclipse checkbox是什么意思

CheckBox控件俗称复选框,OptionButton控件俗称单选框,它们的功能是什么呢?
看个例子:打开Win98中控件面板的“添加/删除程序”,这些方框能够选择多项,所以叫做“复选框”。

而当我打开Internet Explorer的Internet 选项对话框,由于这些选项,只能选择其中之一,所以称为单选框.

这些就是较常见的单选框和复选框。

❼ android怎么把checkbox状态设置为选中状态

CheckBox和Button一样,也是一种古老的控件,它的优点在于,不用用户去填写具体的信息,只需轻轻点击,缺点在于只有“是”和“否”两种情况,但往往利用它的这个特性,来获取用户的一些信息。如一个身份表单中,常常让用户填写“是否已经结婚”,显然让用户去填写“是”或“否”是不合理的,理想的情景是用如下控件:



建立checkBox的布局:

<CheckBox

android:id="@+id/cb"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:checked="false"

android:text="已婚"

></CheckBox>


显然,Checked属性是CheckBox最重要的属性之一,改变它的方式有三种:

1、XML中申明,在xml布局中指定默认的状态android:checked="true"。

2、代码动态改变,在java中可以直接调用checkbox.setChecked(true);

3、用户触摸,即注册OnCheckedChangeListener事件。


实例如下:

//获取CheckBox实例

CheckBox cb = (CheckBox)this.findViewById(R.id.cb);

//绑定事件

cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override

public void onCheckedChanged(CompoundButton arg0, boolean arg1) {

// TODO Auto-generated method stub

Toast.makeText(MyActivity.this, arg1?"选中了":"取消了选中" , Toast.LENGTH_LONG).show();

}

});

在开发当中,默认的状态是未选中的,如果需要默认选中,通常是在xml中指定即可。

❽ android checkbox全选不全选单选

protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.group_list2);

initBottomBar();

listView = (ListView) findViewById(R.id.groupListView);

GroupService service = new GroupService(this);
groupList = service.getGroupList(null);
adapter = new GroupListAdapter(this, groupList);
listView.setAdapter(adapter);

listView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position,
long arg3) {
// TODO Auto-generated method stub
Group group = groupList.get(position);
CheckBox ctb = (CheckBox) view.findViewById(R.id.checkBox);
ctb.toggle();
adapter.selectedMap.put(group.id, ctb.isChecked());
adapter.notifyDataSetChanged();
if(adapter.selectedMap.containsValue(true)){
add2ScanListBtn.setEnabled(true);
}else{
add2ScanListBtn.setEnabled(false);
}
}
});

}

private void initBottomBar(){
bottomBarView = (LinearLayout) findViewById(R.id.bottomBar);
add2ScanListBtn = (Button) bottomBarView.findViewById(R.id.add2ScanListBtn);
add2ScanListBtn.setEnabled(false);
checkBtn = (Button) bottomBarView.findViewById(R.id.checkBtn);
closeCheckBtn = (Button) bottomBarView.findViewById(R.id.closeCheckBtn);

add2ScanListBtn.setOnClickListener(this);
checkBtn.setOnClickListener(this);
closeCheckBtn.setOnClickListener(this);
}

❾ android关于单选框和下拉框的问题,或者有没更好的解决方案,我的目的是通过单选框的改变

var cc3 = $('.formc select[@name="country"]').attr("id");
//清空下拉框//
$("#select").empty();$("#select").html('');
//添加下拉框的option
$("<option value='1'>1111</option>").appendTo("#select")
稍微解释一下:
select[@name='country'] option[@selected]
表示具有name 属性,并且该属性值为’country’ 的select元素里面的具有selected 属性的option 元素。可以看出有@开头的就表示后面跟的是属性。
单选框:
//得到单选框的选中项的值(注意中间没有空格)
$("input[@type=radio][@checked]").val();
//设置单选框value=2的为选中状态.(注意中间没有空格)
$("input[@type=radio][@value=2]").attr("checked",'checked');
复选框:
//得到复选框的选中的第一项的值 再不懂得花 请给我90财富 再说

❿ android中的checkBox如何实现单选

Android中checkbox默认为复选框,也就是多选,实现单选的话,可以让checkbox添加监听,当已经有一个点击了,点击另外一个的时候,修改默认的状态,实现单选,示例如下:

publicstaticinttemp=-1;
checkBox=(CheckBox)parentView.findViewById(R.id.cbox_isselect);
//做个标记
checkBox.setId(groupPosition);
//checkbox监听
checkBox.setOnCheckedChangeListener(newOnCheckedChangeListener(){
@Override
publicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){
if(isChecked)
{
//这段代码来实现单选功能
if(temp!=-1)
{
CheckBoxtempButton=(CheckBox)MyRingBoxActivity.this.findViewById(temp);
if(tempButton!=null)
{
tempButton.setChecked(false);
}
}
//得到当前的position
temp=buttonView.getId();
}else{
temp=-1;
}

}
});
热点内容
编程好软件 发布:2025-01-16 20:38:07 浏览:423
流量密码如何改成 发布:2025-01-16 20:37:13 浏览:50
java判断是否是对象 发布:2025-01-16 20:31:04 浏览:885
python调用外部程序 发布:2025-01-16 20:14:09 浏览:397
缓解压力英语作文 发布:2025-01-16 20:13:31 浏览:65
javaname 发布:2025-01-16 20:13:15 浏览:22
用户访问表空间 发布:2025-01-16 20:07:07 浏览:944
java代码自动编译 发布:2025-01-16 19:58:14 浏览:314
编程很困难 发布:2025-01-16 19:58:09 浏览:674
gg登录源码 发布:2025-01-16 19:58:07 浏览:293