1

私はアンドロイドの初心者です。私はこのコードを使用しますが、アプリエミュレーターを実行すると例外が表示されます。

    public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button btnpredef = (Button) findViewById(android.R.id.button1);
    btnpredef.setOnClickListener(new View.OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            progressbar = ProgressDialog.show(MainActivity.this, "","LOADING...");
            progressbar.setCancelable(true);
        }
    });
}

新しいOnClickListener()からのデバッグキャッチエラー。

私を助けてくれてありがとう。

logCat:

10-05 15:05:01.499: D/AndroidRuntime(383): Shutting down VM
10-05 15:05:01.499: W/dalvikvm(383): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
10-05 15:05:01.509: E/AndroidRuntime(383): FATAL EXCEPTION: main
10-05 15:05:01.509: E/AndroidRuntime(383): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app007/com.example.app007.MainActivity}: java.lang.NullPointerException
10-05 15:05:01.509: E/AndroidRuntime(383):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
10-05 15:05:01.509: E/AndroidRuntime(383):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
10-05 15:05:01.509: E/AndroidRuntime(383):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
10-05 15:05:01.509: E/AndroidRuntime(383):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
10-05 15:05:01.509: E/AndroidRuntime(383):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-05 15:05:01.509: E/AndroidRuntime(383):  at android.os.Looper.loop(Looper.java:123)
10-05 15:05:01.509: E/AndroidRuntime(383):  at android.app.ActivityThread.main(ActivityThread.java:4627)
10-05 15:05:01.509: E/AndroidRuntime(383):  at java.lang.reflect.Method.invokeNative(Native Method)
10-05 15:05:01.509: E/AndroidRuntime(383):  at java.lang.reflect.Method.invoke(Method.java:521)
10-05 15:05:01.509: E/AndroidRuntime(383):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-05 15:05:01.509: E/AndroidRuntime(383):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-05 15:05:01.509: E/AndroidRuntime(383):  at dalvik.system.NativeStart.main(Native Method)
10-05 15:05:01.509: E/AndroidRuntime(383): Caused by: java.lang.NullPointerException
10-05 15:05:01.509: E/AndroidRuntime(383):  at com.example.app007.MainActivity.onCreate(MainActivity.java:25)
10-05 15:05:01.509: E/AndroidRuntime(383):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-05 15:05:01.509: E/AndroidRuntime(383):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
10-05 15:05:01.509: E/AndroidRuntime(383):  ... 11 more
4

5 に答える 5

1

からAndroidを削除します

Button btnpredef = (Button) findViewById(android.R.id.button1);

そしてそれをしなさい

Button btnpredef = (Button) findViewById(R.id.button1);

参照する

ProgressDialog progressBar;

次に、この行を追加します

progressBar = new ProgressDialog(v.getContext());

 progressbar = ProgressDialog.show(MainActivity.this, "","LOADING...");

そして最後にこの行を追加します

progressBar.show();

ここにあなたを助けることができるリンクがあります。

于 2012-10-05T11:29:30.330 に答える
0

View.OnClickListener()newを次のように置き換えるだけですnew OnClickListener()

public void onCreate(Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnpredef = (Button) findViewById(R.id.button1);
btnpredef.setOnClickListener(new OnClickListener() 
{
    @Override
    public void onClick(View v) 
    {
        progressbar = ProgressDialog.show(MainActivity.this, "","LOADING...");
        progressbar.setCancelable(true);
        progressbar.show();
    }
});
于 2012-10-05T11:26:35.770 に答える
0
public class MainActivity extends Activity{

ProgressDialog progressbar; <----

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button btnpredef = (Button) findViewById(android.R.id.button1);
    btnpredef.setOnClickListener(OnClickListener()   <---
    {
        @Override
        public void onClick(View v) 
        {
            progressbar = ProgressDialog.show(v.getContext(), "","LOADING..."); <--
            progressbar.setCancelable(true);
        }
    });
  }
}
于 2012-10-05T11:30:02.020 に答える
0

この例外は、マニフェストファイルにアクティビティ名を正しく宣言していない場合に発生します。パッケージ名とアクティビティ名をマニフェストファイルにチェックインします。

于 2012-10-05T12:01:36.257 に答える
0

android.R.id.button1R.id.button1に置き換えます ありがとう@Pain

于 2012-10-05T12:13:48.313 に答える