0

好吧,我做这个应用程序只是为了试用。还有这个错误。它说:

04-21 04:11:41.618: E/AndroidRuntime(333): FATAL EXCEPTION: main
04-21 04:11:41.618: E/AndroidRuntime(333): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.windteste/com.example.windteste.MainActivity}: java.lang.NullPointerException
04-21 04:11:41.618: E/AndroidRuntime(333):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
04-21 04:11:41.618: E/AndroidRuntime(333):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
04-21 04:11:41.618: E/AndroidRuntime(333):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)

..还有更多的错误行。因此,这是两种方法(DfigMainActivity):

package com.example.windteste;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;

public class Dfig extends Activity{

    @Override
    protected void onCreate(Bundle blablu) {
        // TODO Auto-generated method stub
        super.onCreate(blablu);
        setContentView(R.layout.activity_main);
        MediaPlayer windsound = MediaPlayer.create(Dfig.this, R.raw.windsound);
        windsound.start();
        Thread timer = new Thread(){
            public void run(){
                try{
                    sleep(4000);
                }catch (InterruptedException e){
                    e.printStackTrace();
                }finally{
                    Intent openMain = new Intent("com.example.windteste.MAIN");
                    startActivity(openMain);
                }
            }
        };
        timer.start();
        windsound.release();
    }





}





 package com.example.windteste;

import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.app.Activity;
import android.text.InputType;

----------------------------------------------------------------------------------


public class MainActivity extends Activity {

    Button check = (Button) findViewById(R.id.calculator);
    final EditText UserInput = (EditText) findViewById(R.id.windspeed);
    final TextView P = (TextView) findViewById(R.id.potencia);


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout2);



    UserInput.setInputType(InputType.TYPE_CLASS_NUMBER);


    check.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {


        Number Ws = (Number) UserInput.getText();
        P.setText("Your total is " + Ws);

        }
    });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    } 



}

好吧,我希望你能帮助我。
谢谢!

4

2 回答 2

2

尝试:

public class MainActivity extends Activity {

    Button check;
    final EditText UserInput;
    final TextView P;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout2);

        check = (Button) findViewById(R.id.calculator);
        UserInput = (EditText) findViewById(R.id.windspeed);
        P = (TextView) findViewById(R.id.potencia);

    //Rest is same 

在调用 setContentView() 之前,您不能使用 findViewById()。

于 2013-04-21T04:40:20.060 回答
0

确保清单中列出了这两个活动。看起来 MainActivity 没有在您的清单文件中列出。

于 2013-04-21T04:46:36.663 回答