0

これが私のレイアウトです

<?xml version="1.0" encoding="utf-8"?>
      <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

       <TextView 
        android:id = "@+id/postQues"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Post A Question" />

          <TextView
              android:id="@+id/postAnswer"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_alignParentBottom="true"
              android:layout_alignParentLeft="true"
              android:layout_alignParentRight="true"
              android:text="Post Your Answer" />

          <Button
              android:id="@+id/submit"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_alignParentBottom="true"
              android:layout_alignParentRight="true"
              android:clickable="true"     
              android:text="Submit" />
      </RelativeLayout>

これは私の活動です:

package com.qstack.quizbox;

import roboguice.activity.RoboActivity;
import roboguice.inject.ContentView;
import roboguice.inject.InjectView;
import android.content.DialogInterface;
import android.view.View.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.app.main.R;

@ContentView(R.layout.q_box)
public class QuizBox extends RoboActivity {

    @InjectView(R.id.postQues) TextView postQues;
    @InjectView(R.id.postAnswer) EditText postAnswer;
    //@InjectView(R.id.submit) Button submitA;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        PostQuestion postQuestion = new PostQuestion();
        postQues.setText(postQuestion.postQuestion());

        submitA.setOnClickListener(submitAnswerListener);
    }

     private OnClickListener submitAnswerListener = new OnClickListener() {
         //onClick view
         public void onClick(View v) {
             String answer;
             answer = postA.getText().toString();

             CheckAnswer checkAnswer = new CheckAnswer();

             if (answer == checkAnswer.checkAnswer()) {
                 postA.setText("Correct");
             }
         }
     };
}

postQues = null が原因で、行番号 48 で null ポインタ例外が発生しています。コードから postAnswer を削除すると、null ポインター例外は発生しません。私は自分のプロジェクトとそのすべてをきれいにしました。どんな助けでも

4

6 に答える 6

1
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.yourxml); // you have missed this.....
    PostQuestion postQuestion = new PostQuestion();
    postQues.setText(postQuestion.postQuestion());
    submitA.setOnClickListener(submitAnswerListener);
}
于 2012-04-06T14:59:02.363 に答える
0

最初に電話する必要がありますsetContentView(R.layout.the_xml)(の直後super.onCreate())。そうしないと、RoboGuice は変数に何を挿入すればよいかわかりません!

于 2012-04-06T14:57:11.060 に答える
0

コードで次の行を忘れました。

setContentView(R.layout.main);

onCreate()メソッドのこの行の後にある必要があります

super.onCreate(savedInstanceState);  
于 2012-04-06T14:59:06.013 に答える