Android控件及API说明(二)

1、CheckBox的使用:

先肯定是在布局文件中加入相关设置,这里加两个checkBox

<CheckBox
    android:id="@+id/checkbox1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/basketball"
/>
<CheckBox
    android:id="@+id/checkbox2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/football"
/>
private CheckBox cb1;
private CheckBox cb2;

public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.main);

	cb1 = (CheckBox) findViewById(R.id.checkbox1);
	cb2 = (CheckBox) findViewById(R.id.checkbox2);

	cb1.setOnCheckedChangeListener(cbListener);
	cb2.setOnCheckedChangeListener(cbListener);
}

private CheckBox.OnCheckedChangeListener cbListener = new CheckBox.OnCheckedChangeListener() {
	public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
		String scb1 = getString(R.string.basketball);
		String scb2 = getString(R.string.football);
		if (cb1.isChecked() == true) {
			//DO Something
		}
	}
};

可以看到,最重要的是给checkbox加监听器。

2、RadioGroup及RadioButton的使用:

RadioGroup里面可以包含多个RadioButton,在同一个RadioGroup内的RadioButton只能是单选。

<!--建立一個RadioGroup -->
<RadioGroup
    android:id="@+id/myRadioGroup"
    android:layout_width="137px"
    android:layout_height="216px"
    android:orientation="vertical"
    >
<!--第一個RadioButton -->
<RadioButton
    android:id="@+id/myRadioButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/tr_radio_op1"
/>
<!--第二個RadioButton -->
<RadioButton
    android:id="@+id/myRadioButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/tr_radio_op2"
/>
</RadioGroup>
public RadioGroup mRadioGroup1;
	public RadioButton mRadio1;
	public RadioButton mRadio2;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		mRadioGroup1 = (RadioGroup) findViewById(R.id.myRadioGroup);
		mRadio1 = (RadioButton) findViewById(R.id.myRadioButton1);
		mRadio2 = (RadioButton) findViewById(R.id.myRadioButton2);

		mRadioGroup1.setOnCheckedChangeListener(mChangeRadio);
	}

	private RadioGroup.OnCheckedChangeListener mChangeRadio = new RadioGroup.OnCheckedChangeListener() {
		@Override
		public void onCheckedChanged(RadioGroup group, int checkedId) {
			if (checkedId == mRadio1.getId()) {
				mRadio1.getText();//获取mRadio1的内容
			} else if (checkedId == mRadio2.getId()) {
				mRadio2.getText();//获取mRadio2的内容
			}
		}
	};

3、AutoCompleteTextView自动提示框的使用:

Android的AutoCompleteTextViewWidget搭配ArrayAdapter就能设计同类似Google搜索提示的效果。

<AutoCompleteTextView
    android:id="@+id/actv"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:completionThreshold="1"
/>
private AutoCompleteTextView actv;
private static final String[] autoStrs = new String[] { "a", "abc", "abcd","abcde", "ba" };

public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.main);

	actv = (AutoCompleteTextView) findViewById(R.id.actv);
	// new ArrayAdapter对象并将autoStr字符串数组传入actv中
	ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, autoStrs);
	actv.setAdapter(adapter);
}

相关推荐