ボタンを押す度に凹凸状態を変化させたい

このQ&Aのポイント
  • ボタンを押すと凸状態から凹んだ状態となり、再度押すと元の状態(凸状態)にする。
  • 画面に8個のボタンを配置し、DB(SQLite)から最大8件の名前を取得し表示する。取得できなかった分のボタンは押せない状態にする。
  • ボタンが押されると凸状態から凹んだ状態に変化し、再度押すと凹んだ状態から元の状態(凸状態)に戻る。また、登録ボタンが押されると凹んだ状態のボタンの表示文字列を取得し、DBを更新する。
回答を見る
  • ベストアンサー

ボタンを押す度に凹凸状態を変化させたい

eclipseでAndroidのアプリを作っていますが、どうしても解決できない事があるので教えて下さい。 (初心者の為、調べていてヒントがあったのかもしれませんが、ヒントすら見つけられませんでした) ・見つけられなかった事 ボタンを押すと凸状態から凹んだ状態となり、再度押すと元の状態(凸状態)にする。 ・やりたい事 画面に8個のボタンを配置して、それぞれのボタンの表示部分にDB(SQLite)より最大8件の名前(文字列)を取得しセットする。 取得する件数が8件に満たない場合、取得できなかった分についてはボタンが押せない状態にする。 各ボタンを押すと凸状態から凹んだ状態となり、再度押すと凹んだ状態から元の状態(凸状態)にする。 (例:DBから7件取得した場合、7個のボタンに取得した名前を表示して、1個のボタンは押しても反応しないようにする) また、同じ画面に押すだけの登録ボタンも配置しておき、登録ボタンが押された場合は凹んだ状態のボタンについての表示文字列(名前)を取得し、DB(SQLite)を更新する。 更新処理詳細:ボタンから取得した名前と一致するレコードは、FLG列に1をセットする。        また、ボタンから取得した名前と一致しないレコードは、FLG列に0をセットする。 以上です。 助けて下さい。 os: windows 7 eclipse: Version: 4.2.0 Build SDK: Android 4.1(API 16)

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

> ボタンを押すと凸状態から凹んだ状態となり、再度押すと元の状態(凸状態)にする。 このような動作をするボタンを「トグルボタン」といいます。 これをキーワードに、再度調べてみてください。 (Androidの場合、想定しているものと少々デザインは異なるかもしれませんが……)

yanagihk
質問者

お礼

トグルボタンを調べてみたら、知りたい事でした。 やりたい形に近づくことができました。 ありがとうございました。

関連するQ&A

  • ボタンを押してテキストに文字をセットする

    教えてください。 画面イメージが Aテキスト ボタン Bテキストのように配置しています。 そこでAテキストにコードを入力後にボタンを押してBテキストに名称をセットするようにしたいのですが。 検索する文字列はhiddenでセットしています。 30112900,A商店,45890736,B商店,78653672,C商店・・・ このような文字列を使用し、「30112900,A商店」が1レコードのイメージです。 Aテキストに「45890736」を入力してボタンを押すと文字列から検索してBテキストに「B商店」を表示されるようにしたいのです。 質問の内容も分かり難いかと思いますが、どうぞ宜しくお願い致します。

  • Select時に取得行番号を指定する方法って・・

    Select文の時、大量データを処理する場合(java)、レコードセットクラスのnextメソッドでレコードを取得していますが、取得レコードが大量になるとnextメソッド内でヒープサイズがオーバーし、例外が発生してしまいます。なのでトランザクションを複数回にわけて発行し、全件処理したいのですが、Select時に例えば1件~1000件目まで取得とか、1001件から2000件まで取得とかって可能でしょうか?ちなみにDBはDB2を使用しています。

  • 任意の件数の取得

    検索条件にマッチしたレコードのセットのうち、任意の件数、例えば1から100件、101から200件とか、取得する方法というのはありますか? DBはDB2です。 オラクルではあった気がするのですが、DB2は?と思っています。 もっと言うと、実装はHibernateを使用してアクセスしているので、Hibernateでそのような取得方法があるのならそれも教えていただきたいと思っています。 よろしくお願いします。 (ソートして連番ふるviewでも作ればいいのかな…などとも思っています。どうなんでしょ?)

  • DAO エクセルvbaからアクセスのレコードの件数

    DAOで、エクセルvbaからアクセスのレコードの件数を取得したいのですが Dim ac As Object Dim db As DAO.Database Dim rs As DAO.Recordset Set ac = CreateObject("Access.Application") Set db = ac.DBEngine.OpenDatabase("D:\あああ.accdb", False, True) Set rs = db.OpenRecordset("SELECT * FROM Tマスタ WHERE masterkey like '*四*';") i = rs.RecordCount Debug.Print rs("masterkey") rs.Close: Set rs = Nothing db.Close: Set db = Nothing ac.Quit: Set ac = Nothing をすると、抽出するレコードが1000件でも、必ず1が返ります。 masterkeyフィールドは文字列型です。 なぜ実際はたくさんのレコードがあるのに、1が返るのでしょうか?

  • DAOでレコード数を取得したい(ACESSVBA)

    レコードの行数は複数あるのに --------------------------------------------------------- Sub あ() Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb Set rs = db.OpenRecordset("T_test", dbOpenDynaset) MsgBox rs.RecordCount Set rs = Nothing Set db = Nothing End Sub --------------------------------------------------------- これでレコード数を取得しようとすると1がかえるのですが なぜレコードの行数を取得できないのでしょうか?

  • グリッドビューで二つの選択ボタンを配置し、それぞれで選択した行の主キーを取得したいのですが、方法が分かりません。

    宜しくお願い致します。 グリッドビューで二つの選択ボタンを配置し、それぞれで選択した行の主キーを取得したいのですが・・・どのようにしたらいいのか分かりませんので詳しい方に教えていただけたらと思います。 一つ目の選択ボタンに関しては“commandfield”から“選択”を選び配置すればその行にあるボタンをクリックした際に主キーを取得することが可能であるというのは分かるのですが、 もう一つ選択ボタンを配置して、一つ目とは少し異なった動作をさせることができたらと思っております。 その為に“テンプレートフィールド”を使用して、その中に“button”を配置し、“commandname”プロパティに“select”を選んでおけば行の情報は取得することができるのですが、その行の主キーとなる“列”の情報も取得できたらと思っているのですが、検討がつかない状態です。 ご存知の方がおられましたら、御教授いただけたらと思います。 宜しくお願い致します。

  • SELECT文での抽出条件

    以下のような処理を行いたいと思いますが SQL文の作成方法を御教授下さい。 【時間DB】 YEARMONDAY,HOUR,FLG, DATA ----------------------------- 20050528     1  1 10 20050528     2  1 20 20050528     3  1 30 20050528     4  1 40 . . . 20050528    22  1 40 20050528    23  1 50 20050528    24  1 60 【日DB】 YEARMONDAY,FLG, DATA ----------------------------- 20050528     1  250 処理内容:指定された日付で日DBの作成を行う。 抽出条件:フラグが全て等しい場合はその値を取得       :フラグが一致しない場合は0を取得 上記の場合,SQL文で抽出可能でしょうか? 以上,よろしくお願い致します。

  • limit offset はupdate文には使用できないでしょうか?

    MySQL5.1で、500万件あるテーブル a に対し、 100万件ずつ5種類のフラグを付けようと思います。 update a set flg = 1 limit 1000000; まではうまくいったのですが、 update a set flg = 2 limit 1000000,1000000; はSyntaxエラーとなりました。 select で一旦範囲指定し、キーを取得してから UPDATEをかける方法しかないでしょうか?

  • ExcelVBAでオプションボタンの選択状態を取得

    ActiveXコントロールのオプションボタンをエクセルのシート上に作成しました。 標準モジュールの中からこのオプションボタンの選択状態を取得したいと思い、下記のようなコードを書きました。 opt1の中身を見たところValueプロパティがなくオプションボタンの選択状態をどう判別すればよいかわかりません。教えていただけますでしょうか。 Set mainSheet = Worksheets("main") Set opt1 = mainSheet.OLEObjects("OptionButton1") ※シート名:main オブジェクト名:OptionButton1

  • SQLite3 の UpdateCommand エラー

    SQLite3 の UpdateCommand エラー Windows XP Pro 上で、Visual Studio 2005 Enterprise Edition(VB) を用いて 開発しています。 DB として SQLite3 を使用しているのですが、 あるテーブルのレコードの列を増やしたところ、Update でエラーが出るようになってしまいました。 当該テーブルは1データのみを保持するテーブルで、 "select * from TABLE_XX " で SQLiteDataAdapter を用いてDataSource に読み込ませ、 その内容を画面に表示します。 また、画面から変更された内容は、DataTable の DataRow に反映し DataAdapter の UPDATE メソッドでDBを更新していました。 今回画面の項目が増えた為、テーブルの項目(列)を増やしたんですが、UPDATE メソッドの実行で  「DBConcurrencyException はハンドルされませんでした。」  同時実行違反 : UpdateCommand によって、処理予定の 1 レコードのうち 0 件が処理されました。 のエラーが発生してしまいます。 当該テーブルの列数は23ヶで、先頭列(="ID")がPK(AutoIncrement)です。 増やした列は、既存の列とほぼ同様の取り扱いをしています。 よろしくお願いします。s

専門家に質問してみよう