众位高手好! 刚开始学习Android ,对照教程敲代码,想要实现的功能是:在一个Activity中输入条件,在另一个Activity中显示结果。但是在Activity1中输入条件后,点击”确定“Button后,没能调出Activity2,而是提示出错!出错信息是: Sorry! application (process com.hya.app) has stopped unexpectedly. please try again.
Force close.请大家帮忙看看是什么原因,谢谢了!这是Activity1的Java代码——Ex_10AActivity
package com.hy.app;import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
public class Ex_10AActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button ok=(Button)findViewById(R.id.button_OK);
ok.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
/*取得输入的身高*/
EditText et=(EditText)findViewById(R.id.height_Edit);
double height=Double.parseDouble(et.getText().toString());
/*取得选择的性别*/
String sex="";
RadioButton rb1=(RadioButton)findViewById(R.id.Sex_Man);
if(rb1.isChecked()){
sex="M";
}else{
sex="F";
}
/*new 一个Intent对象,并指定Class*/
Intent intent= new Intent();
intent.setClass(Ex_10AActivity.this, BMIActivity.class);
/*new一个Bundle对象, 并将要传递的数据传入*/
Bundle bundle=new Bundle();
bundle.putDouble("height", height);
bundle.putString("sex",sex);
/*将Bundle对象assign给Intent*/
intent.putExtras(bundle);
/*调用Activity Ex03_10_1 ?(按照教程写的,不知道这是哪个Activity)*/
startActivity(intent);
}
});
}
}
这是Activity2的Java代码——BMIActivity package com.hy.app;import java.text.DecimalFormat;
import java.text.NumberFormat;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;/**
* @author HuangYi
*
*/
public class BMIActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*加载main.xml layout*/
setContentView(R.layout.mylayout);
/*取得Intent中的Bundle对象 */
Bundle bunde=this.getIntent().getExtras();
/*取得Bundle对象中的数据*/
String sex=bunde.getString("sex");
double height = bunde.getDouble("height");
/*判断性别*/
String sexText="";
if (sex.equals("M")){
sexText="男性";
}else{
sexText="女性";
}
/*取得标准体重 */
String weight=this.getWeight(sex,height);
/*设置输出文字*/
TextView tv1=(TextView)findViewById(R.id.text1);
String StrResult="你是一位 "+ sexText+ "\n你的身高是"+height+"厘米\n你的标准体重是"+weight+"公斤";
tv1.setText(StrResult);
}
/*四舍五入的method*/
private String format(double num){
NumberFormat formatter= new DecimalFormat("0.00");
String s= formatter.format(num);
return s;
}
/*以findViewById()取得Button对象,并添加onClickListener*/
private String getWeight(String sex,double height){
String weight="";
if (sex.equals("M")){
weight=format((height-80)*0.7);
}else{
weight=format((height-70)*0.6);
}
return weight;
}
}<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
> <TextView
android:id="@+id/showText"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:text="计算你的标准体重!"
android:textSize="25dp"
android:layout_x="65dp"
android:layout_y="21dp"
/>
<TextView
android:id="@+id/text_Sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性别: "
android:layout_x="71dp"
android:layout_y="103dp"
/>
<TextView
android:id="@+id/text_Height"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="身高: "
android:layout_x="72dp"
android:layout_y="169dp"
/>
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="37dp"
android:orientation="horizontal"
android:layout_x="124dp"
android:layout_y="101dp">
<RadioButton
android:id="@+id/Sex_Man"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="True"
android:text="男" >
</RadioButton>
<RadioButton
android:id="@+id/Sex_Woman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" >
</RadioButton>
</RadioGroup>
<EditText
android:id="@+id/height_Edit"
android:layout_width="123dp"
android:layout_height="wrap_content"
android:text=""
android:textSize="18sp"
android:layout_x="124dp"
android:layout_y="169dp">
</EditText>
<Button
android:id="@+id/button_OK"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="计算"
android:layout_x="125dp"
android:layout_y="263dp">
</Button></AbsoluteLayout><?xml version="1.0" encoding="UTF-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textSize="20sp"
android:layout_x="50dp"
android:layout_y="72dp"
/>
</AbsoluteLayout>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hy.app"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" /> <application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Ex_10AActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<Activity android:name="BMIActivity"></Activity>
</application></manifest>
Force close.请大家帮忙看看是什么原因,谢谢了!这是Activity1的Java代码——Ex_10AActivity
package com.hy.app;import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
public class Ex_10AActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button ok=(Button)findViewById(R.id.button_OK);
ok.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
/*取得输入的身高*/
EditText et=(EditText)findViewById(R.id.height_Edit);
double height=Double.parseDouble(et.getText().toString());
/*取得选择的性别*/
String sex="";
RadioButton rb1=(RadioButton)findViewById(R.id.Sex_Man);
if(rb1.isChecked()){
sex="M";
}else{
sex="F";
}
/*new 一个Intent对象,并指定Class*/
Intent intent= new Intent();
intent.setClass(Ex_10AActivity.this, BMIActivity.class);
/*new一个Bundle对象, 并将要传递的数据传入*/
Bundle bundle=new Bundle();
bundle.putDouble("height", height);
bundle.putString("sex",sex);
/*将Bundle对象assign给Intent*/
intent.putExtras(bundle);
/*调用Activity Ex03_10_1 ?(按照教程写的,不知道这是哪个Activity)*/
startActivity(intent);
}
});
}
}
这是Activity2的Java代码——BMIActivity package com.hy.app;import java.text.DecimalFormat;
import java.text.NumberFormat;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;/**
* @author HuangYi
*
*/
public class BMIActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*加载main.xml layout*/
setContentView(R.layout.mylayout);
/*取得Intent中的Bundle对象 */
Bundle bunde=this.getIntent().getExtras();
/*取得Bundle对象中的数据*/
String sex=bunde.getString("sex");
double height = bunde.getDouble("height");
/*判断性别*/
String sexText="";
if (sex.equals("M")){
sexText="男性";
}else{
sexText="女性";
}
/*取得标准体重 */
String weight=this.getWeight(sex,height);
/*设置输出文字*/
TextView tv1=(TextView)findViewById(R.id.text1);
String StrResult="你是一位 "+ sexText+ "\n你的身高是"+height+"厘米\n你的标准体重是"+weight+"公斤";
tv1.setText(StrResult);
}
/*四舍五入的method*/
private String format(double num){
NumberFormat formatter= new DecimalFormat("0.00");
String s= formatter.format(num);
return s;
}
/*以findViewById()取得Button对象,并添加onClickListener*/
private String getWeight(String sex,double height){
String weight="";
if (sex.equals("M")){
weight=format((height-80)*0.7);
}else{
weight=format((height-70)*0.6);
}
return weight;
}
}<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
> <TextView
android:id="@+id/showText"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:text="计算你的标准体重!"
android:textSize="25dp"
android:layout_x="65dp"
android:layout_y="21dp"
/>
<TextView
android:id="@+id/text_Sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性别: "
android:layout_x="71dp"
android:layout_y="103dp"
/>
<TextView
android:id="@+id/text_Height"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="身高: "
android:layout_x="72dp"
android:layout_y="169dp"
/>
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="37dp"
android:orientation="horizontal"
android:layout_x="124dp"
android:layout_y="101dp">
<RadioButton
android:id="@+id/Sex_Man"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="True"
android:text="男" >
</RadioButton>
<RadioButton
android:id="@+id/Sex_Woman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" >
</RadioButton>
</RadioGroup>
<EditText
android:id="@+id/height_Edit"
android:layout_width="123dp"
android:layout_height="wrap_content"
android:text=""
android:textSize="18sp"
android:layout_x="124dp"
android:layout_y="169dp">
</EditText>
<Button
android:id="@+id/button_OK"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="计算"
android:layout_x="125dp"
android:layout_y="263dp">
</Button></AbsoluteLayout><?xml version="1.0" encoding="UTF-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textSize="20sp"
android:layout_x="50dp"
android:layout_y="72dp"
/>
</AbsoluteLayout>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hy.app"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" /> <application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Ex_10AActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<Activity android:name="BMIActivity"></Activity>
</application></manifest>
解决方案 »
- eclispe中查看Android中某个类源码,出现的.class文件中的内容是什么?
- 在另一个类里如何调用继承fragment里的方法
- NDK r7编译ffmpeg出现Argument list too long问题。
- AbsoluteLayout绝对布局动态添加控件问题
- 英语翻译问题
- 安卓生成XML文件怎么制定路径(不存在SD卡)
- android 新建项目manifest报错
- android电视机 开机自启蓝屏
- Android的Button可以实现动态改变button的文字吗?
- Android手机APP开发,USB调试久了会不会对电池有影响
- 关于运用ScrollView的几个疑问!求解答,谢谢!
- android下载文件的问题 输入流为null
<Activity android:name="BMIActivity"></Activity>
注意“A”小写,小写后就正常了
<activity android:name="BMIActivity"></activity>