0

私には2つの活動があります。私のメインアクティビティでは、もう1つのアクティビティを開始するインテントを作成しています。

Intent intent = new Intent(context, Settings.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

開始する必要がある2番目のアクティビティのコードは次のとおりです。

public class Settings extends Activity {

    Button settingsBack;
    //Some other layout resources
    final Context context = this;   //Creating reference to this Activity Context

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.help);

        //References to layout resources
        settingsBack = (Button) findViewById(R.id.settingsBack);
        //...
        //-----

        //Assigning listeners to Buttons
        settingsBack.setOnClickListener(listenerBack);
        //-----
    }

    //Button listeners definitions
    final OnClickListener listenerBack = new OnClickListener() {

        public void onClick(View v) {
            finish();
        }

    };    
    //-----

}

しかし、この2番目のアクティビティを開始する必要があるとき、その行でNullPointerExceptionが発生し、そこでリスナーをボタンに割り当てます。Rファイルが正しく生成されない場合に備えて、プロジェクトをクリーンアップしようとしましたが、問題は解決しませんでした。2番目のアクティビティはマニフェストファイルで宣言されています。

<activity android:name=".Settings" android:label="@string/app_name"></activity>

それはどこかで単純な小さな問題だと確信していますが、私はそれを見つけることができません:(あなたの助けに感謝します!

4

1 に答える 1

0

私はいつもこれを行っています。アクティビティonCreateメソッドを新しいアクティビティにコピーしますが、のXMLファイルを変更するのを忘れていますsetContentView

アクティビティは設定と呼ばれていると思いますが、XMLはヘルプと呼ばれています。

于 2012-08-15T12:59:42.997 に答える