这里有一个问题,现在还不清楚,为什么这里的toast不能显示呢?
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="你最喜欢的动物是:"/>
<ImageView android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"/>
<RadioGroup android:id="@+id/radioGroup"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left">
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="猫" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="狗" />
</RadioGroup>
<TextView android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="你喜欢的运动是:"/>
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="跑步" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="游泳" />
</LinearLayout>
CheckboxAndRadiobutton.java
package com.android.forlinx;
import android.app.Activity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.CompoundButton;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
public class CheckboxAndRadiobutton extends Activity {
private ImageView image = null;
private RadioGroup mradio = null;
private RadioButton rButton1,rButton2;
private CheckBox mcheck = null;
private CheckBox mcheck2;
private TextView mresult = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
image = (ImageView)findViewById(R.id.image);
mradio = (RadioGroup)findViewById(R.id.radioGroup);
rButton1 = (RadioButton)findViewById(R.id.radioButton1);
rButton2 = (RadioButton)findViewById(R.id.radioButton2);
mcheck = (CheckBox)findViewById(R.id.checkBox1);
mcheck2 = (CheckBox)findViewById(R.id.checkBox2);
mradio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
if (checkedId == rButton1.getId()){
Toast.makeText(CheckboxAndRadiobutton.this, "您最喜欢的动物是"+rButton1.getText(), Toast.LENGTH_LONG);
image.setImageResource(R.drawable.p1);
}else if(checkedId == rButton2.getId()){
Toast.makeText(CheckboxAndRadiobutton.this, "您最喜欢的动物是"+rButton2.getText(), Toast.LENGTH_LONG);
image.setImageResource(R.drawable.p2);
}
}
});
mcheck.setOnCheckedChangeListener(listener);
mcheck2.setOnCheckedChangeListener(listener);
// mradio.set
}
OnCheckedChangeListener listener = new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if (mcheck.isChecked()){
Toast.makeText(CheckboxAndRadiobutton.this, "您喜欢的运动是"+mcheck.getText(), Toast.LENGTH_LONG);
//为什么这里的toast不能显示呢?因为在listener中吗?
System.out.println("您喜欢的运动是"+mcheck.getText());
}else if(mcheck2.isChecked()){
System.out.println("您喜欢的运动是"+mcheck2.getText());
}
}
};
}
效果图: