0

button1 をクリックした直後にヌル ポインター例外エラーが発生しました。しかし、ルートの原因が何であるかはわかりません。誰かが私を助けることができますか?

public class FirstActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button button1 = (Button)findViewById(R.id.button1);
    button1.setOnClickListener(new ButtonClickListener());
}
class ButtonClickListener implements OnClickListener {
    public void onClick(View v){
        EditText name = (EditText)findViewById(R.id.name);
        EditText address = (EditText)findViewById(R.id.address);

        Spinner month = (Spinner)findViewById(R.id.month);
        Spinner day = (Spinner)findViewById(R.id.day);

        RadioGroup radio = (RadioGroup)findViewById(R.id.gendar);
        RadioButton radiobutton=
                (RadioButton)findViewById(radio.getCheckedRadioButtonId());

        CheckBox applecheck = (CheckBox)findViewById(R.id.applecheck);
        CheckBox orangecheck = (CheckBox)findViewById(R.id.orangecheck);
        CheckBox peachcheck = (CheckBox)findViewById(R.id.peachcheck);

        EditText appleqty = (EditText)findViewById(R.id.appleqty);
        EditText orangeqty = (EditText)findViewById(R.id.orangeqty);
        EditText peachqty = (EditText)findViewById(R.id.peachqty);

        Intent intent = new Intent(FirstActivity.this,SecondActivity.class);

        intent.putExtra("NAME", name.getText().toString());
        intent.putExtra("ADDRESS", address.getText().toString());
        intent.putExtra("MONTH",month.getSelectedItem().toString());
        intent.putExtra("DAY", day.getSelectedItem().toString());
        intent.putExtra("GENDAR", radiobutton.getText().toString());
        if(applecheck.isChecked())
            intent.putExtra("APPLE", appleqty.getText().toString());
        if(orangecheck.isChecked())
            intent.putExtra("ORANGE", orangeqty.getText().toString());
        if(peachcheck.isChecked())
            intent.putExtra("PEACH", peachqty.getText().toString());

        startActivity(intent);

    }
}

}

public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);

    Bundle extra= getIntent().getExtras();

    String name = extra.getString("NAME");
    String address = extra.getString("ADDRESS");
    String month = extra.getString("MONTH");
    String day = extra.getString("DAY");
    String gendar = extra.getString("GENDAR");
    String apple = extra.getString("APPLE");
    String orange = extra.getString("ORANGE");
    String peach = extra.getString("PEACH");

11-11 14:38:38.681: E/AndroidRuntime(363): 致命的な例外: メイン 11-11 14:38:38.681: E/AndroidRuntime(363): java.lang.NullPointerException 11-11 14:38:38.681: E/AndroidRuntime(363): com.example.sample4_3.FirstActivity$ButtonClickListener.onClick(FirstActivity.java:34) 11-11 14:38:38.681: E/AndroidRuntime(363): android.view.View.performClick で(View.java:2408) 11-11 14:38:38.681: E/AndroidRuntime(363): android.view.View$PerformClick.run(View.java:8816) 11-11 14:38:38.681: E /AndroidRuntime(363): android.os.Handler.handleCallback(Handler.java:587) 11-11 14:38:38.681: E/AndroidRuntime(363): android.os.Handler.dispatchMessage(Handler.java: 92) 11-11 14:38:38.681: E/AndroidRuntime(363): android.os.Looper.loop(Looper.java:123) 11-11 14:38:38.681: E/AndroidRuntime(363): at android.app.ActivityThread.main(ActivityThread.java:4627) 11-11 14:38:38.681: E/AndroidRuntime(363): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) 11-11 14:38:38.681: E/AndroidRuntime(363): Java で.lang.reflect.Method.invoke(Method.java:521) 11-11 14:38:38.681: E/AndroidRuntime(363): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: 868)

私が抱えている新しいエラーは次のとおりです。11-11 16:24:39.680: E/AndroidRuntime(554): java.lang.RuntimeException: アクティビティ ComponentInfo を開始できません {com.example.sample4_3/com.example.sample4_3.SecondActivity}: android.view.InflateException: バイナリXML ファイルの 126 行目: クラス textView の拡張エラー 11-11 16:24:39.680: E/AndroidRuntime(554): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 11-11 16:24:39.680: E/AndroidRuntime(554): android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 11-11 16:24:39.680: E/AndroidRuntime(554): android.app.ActivityThread.access$2300(ActivityThread. java:125) 11-11 16:24:39.680: E/AndroidRuntime(554): android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 11-11 16:24:39.680: E/AndroidRuntime( 554): android.os.Handler.dispatchMessage(Handler.

さて、126行目を調べても、このエラーを修正する方法が見つかりません。

4

1 に答える 1

1

34行目を強調表示していただけますか。しかし、コードから簡単にわかることから、では、パラメーターとして渡されたビューを使用せずButtonClickListenerにアクセスしています。findViewByIdあなたがそれをすることができないはずなので、なぜそれがエラーではないのかわかりません。問題になる可能性のある他のことは、R.id.button1スペルが間違っているか、xmlでスペルが間違っている可能性があることです。

于 2012-11-11T06:20:39.603 に答える