當前位置:首頁 » 安卓系統 » 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 18:54:26 瀏覽:802
js解壓字元串 發布:2025-01-16 18:54:17 瀏覽:482
php怎麼開啟伺服器 發布:2025-01-16 18:52:53 瀏覽:769
億速雲北京三區伺服器雲主機 發布:2025-01-16 18:52:01 瀏覽:359
我的世界網易伺服器做家園 發布:2025-01-16 18:50:33 瀏覽:553
虛擬存儲安全教程 發布:2025-01-16 18:49:48 瀏覽:574
vps配置ftp 發布:2025-01-16 18:49:02 瀏覽:157
qtc比python好用 發布:2025-01-16 18:39:48 瀏覽:488
電腦有免費伺服器嗎 發布:2025-01-16 18:35:28 瀏覽:220
sql生成唯一 發布:2025-01-16 18:35:25 瀏覽:223