0

私のAndroidアプリでは、Intentを使用してアクティビティを起動しています。このアクティビティでは、ImageButtonが近い別のレイアウトを使用します。このアクティビティを閉じて前のアクティビティに戻るようにonClickイベントを設定したいと思います。これを実現するためにfinish()メソッドを使用していますが、画像を閉じるボタンをクリックしても何も起こりません。

以下は私が使用しているコードです:

アクティビティを開始するには:

public void stOn(){
    Button sb = (Button)findViewById(R.id.sb);
    sb.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v){
            Intent scIntent = new Intent(MainActivity.this, St.class);
            MainActivity.this.startActivity(scIntent);
        }
    });
} 

そして、アクティビティを破棄するには:

public void stOff(){
    ImageButton pw = (ImageButton)findViewById(R.id.pw);
    pw.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v){
            finish(); // Finish Current Activity
        }
    });
}

私は何が間違っているのですか?

4

1 に答える 1

1

黒澤博之がコメントで言うように、あなたの関数stOff()は呼び出されていない可能性があります。

これはすでに行っていることかもしれませんが、より一般的に言えば、Android では、すべてのインターフェイス要素 ( ButtonImageButtonEditText、...) をアクティビティのフィールドとして宣言しfindViewById()setOnClickListener(...)関数内のonCreate(Bundle savedInstanceState)関数を適用するために使用します。

于 2012-07-20T23:03:50.413 に答える