Android Launch!
[2012-03-13 16:42:29 - Activity_03] adb is running normally.
[2012-03-13 16:42:29 - Activity_03] Performing mars.Activity03.Activity03 activity launch
[2012-03-13 16:42:29 - Activity_03] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'android1.6'
[2012-03-13 16:42:34 - Activity_03] Application already deployed. No need to reinstall.
[2012-03-13 16:42:34 - Activity_03] Starting activity mars.Activity03.Activity03 on device emulator-5554
[2012-03-13 16:42:38 - Activity_03] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=mars.Activity03/.Activity03 }error:
E/AndroidRuntime(805): Uncaught handler: thread main exiting due to uncaught exception
(这个哪里会有异常??)
03-13 08:50:03.854: E/AndroidRuntime(805): java.lang.RuntimeException: Unable to start activity ComponentInfo{mars.Activity03/mars.Activity03.ResultActivity}: java.lang.NumberFormatException: unable to parse 'null' as integer(我在两个框里输入的都是整数,怎么不能转了?)
Activity03.java内容如下:
package mars.Activity03;
import android.app.Activity;import android.content.Intent;import android.os.Bundle;
import android.view.View;import android.view.View.OnClickListener;
import android.widget.*;public class Activity03 extends Activity {
   
private EditText factorOne,factorTwo;
private TextView symbol;
private Button calculate;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //根据控件的ID来取得代表控件的对象
        factorOne=(EditText)findViewById(R.id.factorOne);
        factorTwo=(EditText)findViewById(R.id.factorTwo);
        symbol=(TextView)findViewById(R.id.symbol);
        calculate=(Button)findViewById(R.id.calculate);
       // symbol.setText("乘以");
        //calculate.setText("计算");
        symbol.setText(R.string.symbol);
        calculate.setText(R.string.calculate);
        calculate.setOnClickListener(new CalculateListener());
    }
    class CalculateListener implements OnClickListener{ public void onClick(View arg0) {
// TODO Auto-generated method stub
//取得两个
String factorOneStr=factorOne.getText().toString();
String factorTwoStr=factorTwo.getText().toString();
Intent intent=new Intent();
intent.putExtra("one", factorOneStr);
intent.putExtra("two", factorTwoStr);
intent.setClass(Activity03.this, ResultActivity.class);
Activity03.this.startActivity(intent);
System.out.println("onClick--error");
}
    }
}对应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" >
<EditText
    android:id="@+id/factorOne"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
    <TextView
        android:id="@+id/symbol"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
<EditText 
    android:id="@+id/factorTwo"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
<Button
    android:id="@+id/calculate"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
</LinearLayout>
ResultActivity。java内容如下:package mars.Activity03;
import android.app.Activity;import android.content.Intent;
import android.os.Bundle;import android.widget.TextView;public class ResultActivity extends Activity{

private TextView resultView=null;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
System.out.println("resultActivity--error");
resultView=(TextView)findViewById(R.id.result);
Intent intent=getIntent();System.out.println("哪里错哦了!!");
String factorOneStr=intent.getStringExtra("one");
String factorTwoStr=intent.getStringExtra("Two");
    int factorOneInt=Integer.parseInt(factorOneStr);
int factorTwoInt=Integer.parseInt(factorTwoStr);
int result=factorOneInt*factorTwoInt;
resultView.setText(result+"");
System.out.println("哪里错哦了!!--最后");
}}对应result.xml如下:<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/result"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />
</LinearLayout>
string。xml如下:<?xml version="1.0" encoding="utf-8"?>
<resources>    <string name="hello">Hello World, Activity03!</string>
    <string name="app_name">Activity03</string>
<string name="resultLabel">ResultActivity</string>
<string name="symbol">乘以</string>
<string name="calculate">计算</string>
    
</resources> AndroidManifest.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mars.Activity03"
    android:versionCode="1"
    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="4" />    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".Activity03"
            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=".ResultActivity" android:label="@string/resultLabel"></activity>
    </application></manifest>

解决方案 »

  1.   

    你发帖发错了地方 应该发到Android专区
      

  2.   

    android与wp是死敌,
    而你是微软的死敌逛到敌营了,兄弟
      

  3.   

    看,这里的two是小写
    intent.putExtra("two", factorTwoStr);
    这里的Two第一个字母是大写,所以得不到值,为空。
    String factorTwoStr=intent.getStringExtra("Two");大、 小写是有区别的噢。
      

  4.   

    是的,通常为了避免这些错误,我们都会定义全局常量来表示这个key。