こうしたいと思った動作が出来ず、意図していない動作になってしまいます。
理想:別の画面からこのコードの画面に移動してきて、この画面にあるonemoreというイメージボタンをクリックすると、この画面が消える(前の画面である「別の画面」が画面に出る)
現実:別の画面(仮に2ページ目とします)からこの画面に移動せず(この画面が表示されず)、この画面でなく2ページ目が消えてしまい、TOP画面である1ページ目が現れる
lang
1package jp.example.パッケージ名; 2 3import android.app.Activity; 4import android.content.Intent; 5import android.os.Bundle; 6import android.view.View; 7import android.view.View.OnClickListener; 8import android.widget.ImageButton; 9 10public class クラス名 extends Activity implements OnClickListener{ 11 private ImageButton onemore; 12 13 @Override 14 protected void onCreate(Bundle savedInstanceState) { 15 super.onCreate(savedInstanceState); 16 setContentView(R.layout.レイアウトxml名); 17 18 // ボタンを生成 19 ImageButton imgbtn3 = new ImageButton(this); 20 imgbtn3.setImageResource(R.drawable.onemore); 21 22//クリックイベントリスナー 23onemore = (ImageButton) findViewById(R.id.onemore_btn); 24onemore.setOnClickListener(new View.OnClickListener() { 25 26 //ボタンが押されたら何かする 27 @Override 28 public void onClick(View v) { 29 //インテントに、この画面を指定する 30 Intent intent = new Intent(); 31 32 //戻り値設定 33 setResult(RESULT_OK, intent); 34 35 //サブ画面終了 36 finish(); 37 } 38 39}); 40} 41 42 @Override 43 public void onClick(View paramView) { 44 // TODO 自動生成されたメソッド・スタブ 45 46 } 47 48 49 50 }
補足:
・imgbtnが「imgbtn3」なのは、他のページにimgbtnとimgbtn2がある為です
・プログラム終わりの蛇足のように見えるこれ↓は
@Override
public void onClick(View v) {
// TODO 自動生成されたメソッド・スタブ
} }
『型 クラス名 は継承された抽象メソッド View.OnClickListener.onClick(View) を実装する必要があります』というエラーが出てしまっており、
(public class クラス名 extends~ の行で発生していたエラーです)
その解決策である「実装されていないメソッドの追加」をクリックすると出てきて、エラーも消えるので付けています。逆にこれが無いとエラーが出ます
クリックイベントリスナーの下と//インテントに、この画面と、遷移する別の画面を指定するの間にあるpublic void onClick(View v) {
に反応しない理由が分かりませんが、エラーが出ないのでそのままにしてあります
このコードの何処を直せば、意図した通りに動かすことができますでしょうか。どうか教えていただけたらと思います。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/15 08:45