• 締切済み

スワイプ画面でのonclick処理について

先日、以下のサイトを参考にスワイプ画面を作成しましたが スワイプ画面でボタンをクリックする処理が実装できませんでした。 http://web-dou.com/android/swipe.html ページをA⇔B⇔Cとスワイプで遷移することができ、 Aの画面でAのレイアウトに配置したボタンを押すと ある処理を行うというものです。 以下のコードを3つの上記のスワイプを管理するソースコードに記述したところ、 「NullPointerException」というエラーが発生しました。 m_button = (Button)findViewById(R.id.button01); m_button.setOnClickListener(this); 以前した質問(http://okwave.jp/qa/q8826506.html)で回答していただいた通り、 参考にさせていただいた方法ではOnclick処理は実装できないのでしょうか? もし実装できないのであればスワイプ画面でOnclick処理を行う方法について 教えていただければと思います。 回答よろしくお願いします。

みんなの回答

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.2

/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_socket_sample); Button btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { connect(); } }); } こんなところでしょうか。 参考書は、 Androidアプリ開発 秀和システム 山田祥寛 著 381ページ

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.1

ボタンが反応するのは、 各ページに配置されているボタンが、 各ページに記述されたコードに応じて反応する。 ボタンは各ページに設置されなくてはならない。 何のため、名前も変えておく。 と思います。

関連するQ&A

  • Androidアプリ開発 スワイプ機能について

    ヤフー知恵袋の方でも質問させてもらっているのですが こちらでも質問させていただきます。 http://web-dou.com/android/swipe.html このページを参考に無事、別のアクティビティからページBに遷移し、 ページA ⇔ ページB ⇔ ページC といった感じに ほかのページにスワイプするように出来ました。 しかし、スワイプしたページでボタンのonClick処理ができず困っています。 ページAにあるボタンが押されたらある処理を行えるようにするには どうしたらいいでしょうか? ボタン等のレイアウトはXMLファイルで作成し、IDも与えています。 開発環境はEclipseです。 回答よろしくお願いいします。 また、追加で質問なのですが、スワイプを片側にしかできないように することはできるのでしょうか? 上の例だとページA⇒ページB⇒ページCといった感じです。

  • Androidアプリのクリック処理

    とても初歩的な問題で申し訳ないのですが、 3日悩んで解決できなかったので、質問させてください。 現在、Androidアプリの修正を行っています。 現状: 画面いっぱいにWebViewを表示させ、あるサイトを表示させる 改修案: 画面下にボタンを1つ追加し、このボタンをタップすると別サイトを表示させたい 表示するサイトは、サーバー上の特定テキストファイルから引っこ抜いてくる ※現状のアプリは、他の人から引き継がれたもので、当時開発には一切関わっておりません。 まず、XMLファイルでボタンを追加し、IDを「button1」としました。 次に、ActivityクラスにLoaderCallbacksクラスを継承しました。 同時に、AsyncTaskLoaderクラスを作成し、非同期でテキストファイルの内容を取得し、 任意のサイトを表示させる、というところまでは完成しています。 最後に、ボタンタップでクリック処理を行う、というところなのですが、 ここでつまづいてしまいました。 public class Frame extends Activity implements View.OnClickListener, LoaderCallbacks<xxxxxx> { private Button nextButton; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // レイアウトで指定したWebViewのIDを指定する。 nextButton = (Button)findViewById(R.id.button1); setContentView(R.layout.frame); // クリック処理をセット nextButton.setOnClickListener(this);   ←ここでNullPointerException発生!        } public void onClick(View v) { if (v == nextButton) { // ここに、ボタンタップ後に行う処理を記述 } } } 追加した部分だけを抜き出したのが上記の処理なのですが、 onCreate内の【nextButton.setOnClickListener(this)】の部分で、 NullPointerExceptionが発生してしまいます。 この部分だけコメントアウトすると処理はとりあえず通るのですが、 クリック処理を受け取る設定ができていないので、もちろんボタンをタップしても 何もイベントは発生しません。 初歩的な質問で大変申し訳ないのですが、本当に解決法が分からず困っています。 どうぞ知恵をお貸しください、よろしくお願いします。

  • EditTextからフォーカスを外す処理

    Androidのプログラミングで、EditText(入力widget)をExcelのセルのように5つ並べて計算させる画面があります。 XML上のEditTextは5つあり、下記はボタン[btnUpdate]をクリックしたとき、5つめのEditTextにフォーカスが1度あたる(カーソルが入る)ようになっています。 EditText editText5 = (EditText)findViewById(R.id.editText5); editText5.setOnFocusChangeListener(this); Button btnUpdate = (TextView)findViewById(R.id.btnUpdate); btnUpdate.setOnClickListener(this); btnUpdate.setOnFocusChangeListener(this); //以下、メソッド部 ==========================/ @Override public void onClick(View v) { if(v == btnUpdate) { editText5.requestFocus(); // EditText5にフォーカスをあてる    (EditText同士の計算処理) //* ここにフォーカスが外れる記述をしたい */ } } カーソルがeditText5に入った状態(フォーカスがあたったまま)になると、editText1~5の数字が計算されるようになっています。 カーソルが点滅した状態で処理が終わるのですが、処理後はカーソル点滅をやめたいので、editTextからフォーカスをはずしたいと思っています。 質問:カーソルが消える(処理後フォーカスがすべてのEditTextから外れる)状態にする記述(requestFocus();の逆のメソッド)がわかりません。 よろしくお願いします。

  • JavaScriptのinput要素のonclick内で直接JavaS

    JavaScriptのinput要素のonclick内で直接JavaScript文を書きたい <input type="button" onclick="func()" value="ボタン"> のようにonclick内で関数を呼び出すことはできますが、 以下のようにスクリプトを直接書き込むのは可能でしょうか? (これは私が適当に考えただけなので多分動作はしませんが) <input type="button" onclick="javascript:( var a = 123; alert( a ); )" value="ボタン"> というのもちょっと試したいだけのときなど、 なるべく外部呼出しにしたくないことも多々あるもので・・

  • クリックボタン(onclick)の配置について

    画面に表示させるクリックボタンの配置についてお聞きします。 <button onClick="ボタン押下時の動作()">Click</button> 上記の様に、クリックボタンをWeb画面に表示させる場合なんですが、 画面に表示させる方法を"left"や"center"の様に大まかに設定するのではなく、 詳細に座標を指定して表示する方法はありますでしょうか?

  • JavaScriptによるonClickの使い方

    JavaScriptのonClickと関数の使い方で悩んでいます。 現在、divブロック表示非表示切り替えスクリプト:http://designlabolatory.blog16.fc2.com/blog-entry-139.htmlを参考に、ボタンを押して内容の表示・非表示を行いたいと思っています。 <form name="btnname"> <input type="button" name="inpname1" value="▼" onClick="openclosebtn1()"> <div id="openclose1" style="display:none;">  内容:1 </div> <input type="button" name="inpname2" value="▼" onClick="openclosebtn2()"> <div id="openclose2" style="display:none;">  内容:1 </div> <input type="button" name="inpname3" value="▼" onClick="openclosebtn3()"> <div id="openclose3" style="display:none;">  内容:1 </div> </form> 上記のように1つのformの中で、複数の項目のボタンを押して表示・非表示を行うのに、 function openclosebtn1(){ } function openclosebtn2(){ } function openclosebtn3(){ } 3つの関数にそれぞれbuttonのnameとdivのidを変えて書いています。 これを、1つの関数にうまくまとめたいのですが、いまいち方法がわかりません。 JavaScript初心者で、勉強不足なのは重々承知です。 手元にある本を読んでも書き方がわかりません。 わかる方アドバイスお願いします。

  • ログアウト処理

    <?php if(isset($_SESSION["sdata"])) { print "ようこそ".$_SESSION["sdata"]."さん"; print "<INPUT type=\"button\" value=\"ログアウト\" onClick=\"location.href='自分自身'\">"; unset ($_SESSION["sdata"]); } else { print "ようこそゲストさん"; print "<INPUT type=\"button\" value=\"ログイン\" onClick=\"location.href='ログイン画面'\">"; exit; } ログイン画面で認証できたら、$_SESSION["sdata"]=ユーザー名 として、他の画面では上のような処理をしようかと思ったのですがこれではブラウザの更新ボタンを押してもログアウト扱いになってしまうことに気づきました。 onClick=\"unset ($_SESSION["sdata"]);\" にしたらいけるかと思ったのですが、エラーになってしまいました。ログアウトボタンを押したらセッション変数を削除したいのですが、どうしたらいいでしょうか? それと、ログイン処理はクッキーとかも使ったほうがいいのでしょうか?

    • 締切済み
    • PHP
  • 「onClick=

    投稿フォームCGIを改造中です。 情報を入力後、確認画面を出し、送信完了画面を出すようにしています。 さて、情報を入力後確認画面で情報を確認した時間違えがあった場合用に「戻る」ボタンを設置しました。 <FORM><INPUT type="button" value=" ×前の画面へ " onClick="history.back()"></FORM> しかし、戻ると全データが消えてしまいます。最初から入力しなおしって事です。 ブラウザの「戻る」でも同様です。 コレをどうにかして一度入力した物を保持しておきたいのです。要は間違ったところだけを再入力ですね。 何か方法はありますか?よろしくお願いします。

  • activityからviewクラスを呼び出すには?

    アンドロイドアプリを開発しているものですが、質問があります。 mainのactivityにボタンを表示させて、そのボタンが押されたらviewクラスを継承して自作したクラスScreenを呼び出したいと思っているのですが、うまくいきません。 Button btn = (Button)findViewById(R.id.button1); btn.setOnClickListener(new View.OnClickListener(){ public void onClick(View view){                         Intent intent  =  new Intent(start.this , Screen.class) ;                                   startActivity(intent) ;           }           }               ) ; AndroidMainifest.xmlのActivityにも遷移先のクラス名を挿入していますので、問題がないはずなのですが、どなたか詳しい方お願い致します。 初心者なので、拙い説明で申し訳ありませんが、是非回答よろしくお願いいたします。

  • Androidの画面表示のタイミングについて

    androidで、画面のタッチイベントを感知し、画像やボタンを表示させたいと考えています。 その際、ボタンの表示を遅らせるため、sleep()を入れて、表示タイミングをずらそうとしましたが、うまくいかず、ボタンが遅れて表示されるのではなく、画面全体がsleep()で指定した時間分遅れて表示されます。 ファンクションの終了時に画面の表示がまとめて行われるようですが、これはJAVAの仕様なのでしょうか? //タッチイベント public boolean onTouchEvent(MotionEvent event){ //背景画像の表示 final LinearLayout layout= (LinearLayout)findViewById(R.id.Layout); layout.setBackgroundResource(R.drawable.gazou1); //ボタンの表示を遅らせるためスリープ try{ Thread.sleep(3000); }catch (InterruptedException e) { System.out.println(e); } //ボタンの表示 Button a = (Button)findViewById(R.id.button_id); a.setVisibility(View.VISIBLE); return true; } ようろしくお願いいたします。

    • ベストアンサー
    • Java

専門家に質問してみよう