Android开发:同意协议CheckBox的使用
我们在注册为某一个网站会员时,以前貌似都要同意一些协议才能注册成功,在手机应用里也是一样的,我们同样需要签署一些协议才能进行下一步动作。
下面这个应用是当我们勾选“我同意”后,文字内容会变,同时”确定“按钮可以点击,否则”确定“按钮是不能点击,也就是说不能进行下一步动作。
实现步骤
一:布局文件编写
1.1:布局文件main.xml
< LinearLayout xmlns:android = " http://schemas.android.com/apk/res/android "
android:orientation = " vertical "
android:layout_width = " fill_parent "
android:layout_height = " fill_parent "
>
< TextView
android:layout_width = " fill_parent "
android:layout_height = " wrap_content "
android:text = " @string/content "
android:id = " @+id/tv "
/>
< CheckBox
android:layout_width = " wrap_content "
android:layout_height = " wrap_content "
android:text = " 我同意 "
android:id = " @+id/checkbox "
/>
< Button
android:layout_width = " wrap_content "
android:layout_height = " wrap_content "
android:text = " 确定 "
android:id = " @+id/btn1 "
/>
</ LinearLayout >
二:代码文件编写
2. 1:MainActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
public class MianActivity extends Activity
{
// 声明一个Button对象
private Button mybtn = null ;
// 声明一个TextView 对象
private TextView mytv = null ;
// 声明一个CheckBox 对象
private CheckBox mycheckBox = null ;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// 加载main.xml布局文件
setContentView(R.layout.main);
// 以findViewById()方法取得Button对象
mybtn = (Button)findViewById(R.id.btn1);
// 以findViewById()方法取得TextView对象
mytv = (TextView)findViewById(R.id.tv);
// 以findViewById()方法取得CheckBox对象
mycheckBox = (CheckBox)findViewById(R.id.checkbox);
// 给CheckBox对象绑定单击监听事件
mycheckBox.setOnClickListener(listener);
// 将CheckBox默认设置为未选择状态
mycheckBox.setChecked( false );
// 将Button默认设置为未启用状态
mybtn.setEnabled( false );
}
// 监听事件
private OnClickListener listener = new OnClickListener()
{
@Override
public void onClick(View v)
{
// 如果CheckBox选中的话
if (mycheckBox.isChecked())
{
// 将Button设置为启用状态
mybtn.setEnabled( true );
// 设置TextView呈现的内容
mytv.setText( " 您已完整阅读该协议并且同意 " );
}
else
{
// 将Button默认设置为未启用状态
mybtn.setEnabled( false );
// 设置TextView呈现的内容
mytv.setText(R.string.content);
}
}
};
}
三:常量文件
< ?xml version = " 1.0 " encoding = " utf-8 " ? >
< resources >
< string name = " content " > 这里是安卓开发联盟协议,如果您同意此协议请点击... </ string >
< string name = " app_name " > CheckBoxDemo </ string >
</ resources >
运行效果如下
