Android使用者介面之常用控制元件RadioGroup、CheckBox 2018/8/10
常用控制元件
提要:我學習的這個控制元件用法流程大概是這樣的。利用入門的介面卡傳遞資料。相應的還有一個資料類。接下來,建立一個活動並新建一個佈局相對應。基本上的控制元件都可以按這個思路進行。接下來是CheckBox控制元件。
公用部分
在MainActivity:
private ArrayAdapter<ListCellData> adapter;//類為ListCellData,在後文建立的。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
adapter = new ArrayAdapter<ListCellData>(this, android.R.layout.simple_list_item_1);//預設是系統的android佈局
setListAdapter(adapter);
adapter.add(new ListCellData(this, "RadioGroup", new Intent(this, AtyUsingRadioGroup.class)));//新增控制元件及啟動活動,再後文的類中定義其中的方法。
adapter.add(new ListCellData(this, "CheckBox", new Intent(this, AtyUsingCheckBox.class)));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
ListCellData data = adapter.getItem(position);
data.StartActivity();// 定義點選方法啟動每一個Item的活動
}
新建的資料類,中有Intent作引數啟動其他活動:
public class ListCellData { // 此類在前文用到
public ListCellData(Context context,String contrlsName,Intent relatedIntent){
this.contrlsName = contrlsName;//控制元件名
this.context = context;//上下文
this.relatedIntent = relatedIntent;//Intent,在MainActivtiy利用new Intent(MainActivity.this,元件名.class)啟動活動
}
private String contrlsName = "";
public String getContrlsName() {
return contrlsName;
}
private Context context =null;
public Context getContext() {
return context;
}
private Intent relatedIntent = null;
public Intent getRelatedIntent() {
return relatedIntent;
}
public void StartActivity(){
getContext().startActivity(getRelatedIntent());
}
@Override
public String toString(){
return getContrlsName();
}
}
一、RadioGroup
在RadioGroup中:
public class AtyUsingRadioGroup extends Activity {
private RadioButton radioRight;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aty_using_radiogroup);
radioRight =(RadioButton) findViewById(R.id.radioRight);
findViewById(R.id.btnSubmit).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(radioRight.isChecked()){
new AlertDialog.Builder(AtyUsingRadioGroup.this).setTitle("判斷").setMessage("回答正確").setPositiveButton("關閉",null).show();
}else {
new AlertDialog.Builder(AtyUsingRadioGroup.this).setTitle("判斷").setMessage("回答錯誤").setPositiveButton("關閉",null).show();
}
}
});
}
}
在xml佈局中:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="android牛逼不?" />
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radioRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="6" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="不6" />
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="不知道" />
</RadioGroup>
<Button
android:id="@+id/btnSubmit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="提交" />
</LinearLayout>
二、CheckBox
在CheckBox中:
public class AtyUsingCheckBox extends Activity {
private CheckBox cbRB,cbHSR,cbHSPG,cbDoufu;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aty_using_checkbox);
cbDoufu = (CheckBox) findViewById(R.id.cbDoufu);
cbHSR = (CheckBox) findViewById(R.id.cbHSR);
cbHSPG = (CheckBox) findViewById(R.id.cbHSPG);
cbRB = (CheckBox) findViewById(R.id.cbRB);
findViewById(R.id.btnSubmit).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String str ="中午要吃的東西有:\n";
if(cbRB.isChecked()){
str+="肉餅\n";
}
if(cbHSR.isChecked()){
str+="紅燒肉蓋飯\n";
}
if(cbHSPG.isChecked()){
str+="紅燒排骨蓋飯\n";
}
if(cbDoufu.isChecked()){
str+="豆腐蓋飯\n";
}
new AlertDialog.Builder(AtyUsingCheckBox.this).setTitle("結果").setMessage(str).setPositiveButton("關閉",null).show();
}
});
}
}
在xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="中午你打算吃什麼" />
<CheckBox
android:id="@+id/cbRB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="肉餅" />
<CheckBox
android:id="@+id/cbHSR"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="紅燒肉蓋飯" />
<CheckBox
android:id="@+id/cbHSPG"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="紅燒排骨蓋飯" />
<CheckBox
android:id="@+id/cbDoufu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="豆腐蓋飯" />
<Button
android:id="@+id/btnSubmit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="提交" />
</LinearLayout>
相關文章
- 圖形使用者介面2:常用控制元件控制元件
- Android View系列---RadioGroup與RadioButtonAndroidView
- Flutter控制元件-- CheckBox 和 CheckboxListTileFlutter控制元件
- WPF CheckBox控制元件 我全都要控制元件
- Android常用控制元件-BannerView(無限輪播圖控制元件)Android控制元件View
- Android自定義view之實現帶checkbox的SnackbarAndroidView
- 2018-10-8
- 【Android開發入門教程】四.使用者介面之LayoutAndroid
- Android 5.0以上系統常用控制元件著色指南Android控制元件
- Android ViewGroup&&RadioGroup 換行流式標籤佈局AndroidView
- android之豎直滾動控制元件-ListViewAndroid控制元件View
- Android開發之常用佈局Android
- java8之後的介面Java
- MFC 之使用者登入介面
- [Linux常用命令之定時任務Crontab命令] 2018-10-12Linux
- 直播系統搭建,Android使用RadioGroup+RadioButton實現導航欄Android
- 八、android當中五大布局控制元件。其它常用佈局Android控制元件
- Java8之Stream常用操作方式Java
- Android 學習筆記之單選按鈕(RadioButton)和核取方塊(CheckBox)Android筆記
- Android列表控制元件Android控制元件
- Android 分享控制元件Android控制元件
- android checkbox自定義去修改background而不是buttonAndroid
- Flutter常用控制元件-ImageFlutter控制元件
- html的常用控制元件HTML控制元件
- XAML常用控制元件2控制元件
- Android修煉之檢測非SDK介面Android
- Java8新特性探索之Stream介面Java
- Android 簡單控制元件Android控制元件
- Android開發之自定義隨機驗證碼控制元件Android隨機控制元件
- html5常用控制元件HTML控制元件
- Flutter 基礎控制元件篇-->單選框(Switch)、核取方塊(Checkbox)Flutter控制元件
- es 常用介面
- Android 提升使用者體驗之骨架屏Android
- Java8之Stream-函式式介面Java函式
- JDK8新特性之函式式介面JDK函式
- java8 新特性之函式式介面Java函式
- QT常用控制元件(三)——自定義控制元件封裝QT控制元件封裝
- Cesium介面學習以及隱藏介面控制元件控制元件