3.7学习总结

  今天学习了按钮控件,Android的体系结构中Button继承于TextView,而ImageButton继承于ImageView。虽然这两个控件继承于不同的控件,但是Button和ImageButton都是用于完成用户的单击按钮时的onClick事件。Button是按钮,是用于响应用户的一系列点击事件,使程序更加流畅和完整。

  点击事件(监听事件)实现方式(三种):

实现方式一:

先在layout文件中指定onClick属性:Android:onClick=“click”。然后在Activity中实现这个click方法。

public void click (View v){
/// 处理按钮监听事件
}

实现方式二:

在Activity中添加匿名内部类

Button button = findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener(){
@Override
public void OnClick(View v){
/// 处理按钮监听事件
Log.i("匿名内部类方式","button is clicked");
}
});

实现方式三:

public class MainActivity implements View.OnClickListener
{
//实现接口抽象方法
public void onClick(View v){
//处理按钮监听事件
}
}

//在Activity中注册回调接口
button.setOnClickListener(this);

 


  RadioButton为单选按钮,它需要与RadioGroup配合使用,提供两个或多个互斥的选项集。(如男、女)RadioGroup是单选组合框,可容纳多个RadioButton,并把它们组合在一起,实现单选状态。

RadioButton按钮的实现步骤:

1.先在UI布局文件activity——main.xml中的LinearLayout标签中添加如下代码:

<RadioGroup
android:id="@+id/radiogroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">

<RadioButton
android:id="@+id/radiobutton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="Male"/>
<RadioButton
android:id="@+id/radiobutton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Female"/>

</RadioGroup>

然后在MainActivity.java中添加onCreate函数中添加以下代码:

RadioGroup radiogroup = (RadioGroup)findViewById(R.id.radiogroup);
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener(){
public void onCheckedChanged(RadioGroup group,int checkedId){
switch(checkedId){
case R,id.maleradio:editText.setText("男");
break;
}
case R,id.femaleradio:editText.setText("女");
break;
}
}
}

///另外Switch也可以用以下方法表示
if(checked==R.id.radiobutton1){
textView.setText("男");
}
else{
case R,id.maleradio:editText.setText("女");
break;
}
}

 

  

CheckBox即多选按钮,允许用户在一组选项中进行单选和多选。用法与RadioButton类似。

CheckBox按钮的实现步骤:

1.先在UI布局文件activity——main.xml中的LinearLayout标签中添加代码(与radioBox的相似)
2.

public void CheckboxClicked(View view){
boolean checked = ((Checked)view).isChecked();
case R.id.meat:
if(checked){
editText.setText("肉类");
}else{
...
}
break;

...
}

注意:响应事件从何而来?(两个来源)
1.由系统提供的,具有特定函数名的响应函数(在OnCreate中进行定义和实现)
2.自定义响应函数名的方法来响应用户事件(放在Activity中作为一个成员函数来使用)

posted @ 2023-03-07 21:54  Joranger  阅读(16)  评论(0)    收藏  举报