最近刚开始学java,学android,下面时学习笔记,发现什么问题欢迎各位大牛指正……
对于Button TextView EditView 等的操作比较简单,就没做什么笔记,今天下午主要是RadioGroup,CheckBox,Toast
下图是仿真器图片:
RadioButton布局在RadioGroup下面,radioButton只能够单选,CheckBox实现复选。下面是main activity java代码:
package com.example.radiogroup;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
/*layout文件夹下XML相关联 可以不用再次定义 初始化
private RadioGroup radiogroup = null;
private RadioButton radiobutton1 = null;
private RadioButton radiobutton2 = null;
private RadioButton radiobutton3 = null;
private CheckBox checkbox1 = null;
private CheckBox checkbox2 = null;
private Button confirmbutton = null;
private Button exitbutton = null;
private TextView textview = null;
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*
radiogroup = (RadioGroup) findViewById(R.id.radiogroup);
radiobutton1 = (RadioButton) findViewById(R.id.radioButton1);
radiobutton2 = (RadioButton) findViewById(R.id.radioButton2);
radiobutton3 = (RadioButton) findViewById(R.id.radioButton3);
checkbox1 = (CheckBox) findViewById(R.id.checkBox1);
checkbox2 = (CheckBox) findViewById(R.id.checkBox2);
confirmbutton = (Button) findViewById(R.id.button1);
exitbutton = (Button) findViewById(R.id.button2);
textview = (TextView) findViewById(R.id.textView1);
*/
}
// radiogroup sexual 每点击一次radioGroup控件调用一次
// whichone(View view)在layout XML中与radioGroup控件相关联
public void whichone(View view) {
// view.getId() 返回选中的radiobutton的Id
boolean checked = ((RadioButton) view).isChecked();
// view.getId()获得动作的button的id
switch (view.getId()) {
case R.id.radioButton1:
if (checked)
System.out.println(view.getId() + " 爷们");
break;
case R.id.radioButton2:
if (checked)
System.out.println(view.getId() + " 娘们");
break;
case R.id.radioButton3:
if (checked)
System.out.println(view.getId() + " 二茬");
break;
}
}
// checkbox hobbies
// sport(View view)与checkBox相关联
public void sport(View view) {
// Is the view now checked?
boolean checked = ((CheckBox) view).isChecked();
switch (view.getId()) {
case R.id.checkBox1:
if (checked)
System.out.println(view.getId() + " like swimming");
break;
case R.id.checkBox2:
if (checked)
System.out.println(view.getId() + " like jogging");
break;
// TODO: Veggie sandwich
}
}
// confirm the information
// confirminf(View view)与confirmbutton相关联
public void confirminf(View view) {
//toast控制漂浮窗口 不是新的activity
Toast toast = Toast.makeText(MainActivity.this, "真的这样填写么",
Toast.LENGTH_SHORT);
toast.show();
}
// exit program
public void exitprogram(View view) {
System.exit(0);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
下面是layout当中 xml代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<RadioGroup
android:id="@+id/radiogroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="whichone"
android:text="@string/malebutton" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="whichone"
android:text="@string/femalebutton" />
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="whichone"
android:text="@string/transsexualbutton" />
</RadioGroup>
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/checkBox1"
android:layout_alignBottom="@+id/checkBox1"
android:layout_marginLeft="40dp"
android:layout_toRightOf="@+id/checkBox1"
android:onClick="sport"
android:text="@string/jog" />
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/radiogroup"
android:layout_below="@+id/radiogroup"
android:layout_marginTop="49dp"
android:onClick="sport"
android:text="@string/swim" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/checkBox2"
android:layout_alignLeft="@+id/checkBox1"
android:layout_marginBottom="16dp"
android:text="@string/hobby" />
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button2"
android:layout_below="@+id/checkBox2"
android:layout_marginTop="29dp"
android:onClick="confirminf"
android:text="@string/confirmbutton" />
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/checkBox1"
android:layout_below="@+id/checkBox2"
android:layout_marginTop="86dp"
android:onClick="exitprogram"
android:text="@string/exitbutton" />
</RelativeLayout>
注意:
使用xml布局文件编写控件操作时,一定要在.java函数参数设为View view
public void exitprogram(View view) {
System.exit(0);
}