• ベストアンサー

【iアプリ】選択した項目に連動して表示するコンポーネントを変更したい

dojaをつかってiアプリを作りたいと思っている初心者です 実現したい内容は下記の通りです ========================================  [初期状態]   panelにドロップダウンリスト(ListBox.CHOICE)を表示  [実現したい内容]   1.ドロップダウンリストから1つ選択する   2.その内容に紐づく内容をドロップダウンリストの下に     アンカーテキストで表示する   3.再度ドロップダウンリストで他の項目を選択した場合、     今まで表示していたアンカーテキストをクリアし     新たに選択された内容に紐づく内容を     ドロップダウンリストの下に表示する ======================================== 2.までは実現できたのですが、3.の処理を行うにあたって 2.の内容をクリアする方法がわかりません また、2.で表示する項目の件数は選択した項目により変わります またこのような制御はiアプリでは一般的ではないのでしょうか? ご存知の方がいらっしゃいましたら是非ともよろしくお願いいたします

  • Java
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
回答No.2

できますよ。 携帯開発で、iアプリ関係を過去にしていました。 親のComponentにある以下のメソッドで 非表示にすることが出来ますので 以下のようなルーチンになると思いますが Anchorのオブジェクトを再利用する事になりますかね。 ------------------------------  1.文字列設定→表示(個数分ループ) ↓ 2.全て非表示 ------------------------------  setVisible(boolean b) コンポーネントを表示するかどうかを設定します。 ※Anchorは配列で用意する必要があります。 ループやカウンタは適宜作成してください。 AnchorButton[] anc = new AnchorButton()[10個なら10]; イベントリスナ内で↓ anc[前回表示分ループして].setVisible(false); //非表示 anc[個数分] = new AnchorButton("文字列"); ※一部、想像で記載しますので間違いがあればごめんなさい。

ping2009
質問者

お礼

SAKENOSAKAさん回答ありがとうございます 上記の方法で実現できました ありがとうございました

その他の回答 (1)

回答No.1

Panelに一度追加したコンポーネントを削除することは出来なかったと思います。 試してはいませんが以下のような対処が考えられると思います。 1) ドロップダウンリストが確定するたびに新しいPanelを生成して表示する。 2) あらかじめ表示件数の最大数分のアンカーをPanelに追加しておいて、不要なアンカーは無効化しておく。

ping2009
質問者

お礼

planet_9_9さん早速の回答ありがとうございます コンポーネントの削除は出来ないんですね 対処策を参考にして作ってみます 結果は改めて書き込みますね ありがとうございました

ping2009
質問者

補足

教えていただいた方法で実現できました ありがとうございます!

関連するQ&A

  • リスト選択後他の項目がクリアされる。

    phpで検索条件を設定する画面を作っています。 今ある条件項目Aがリスト選択制で何か選ぶとJavaScriptが動いて別の条件項目Bの内容が表示されるようになっています。 このJavaScriptが動作したために、それまでに入力されていたそれ以外の条件項目(例えばC~F)のデータが一旦クリアされてしまいます。これをクリアしないようにするためにどうしたらよろしいでしょうか?テキストタイプも同じリストタイプもクリアされてしまいました。

    • ベストアンサー
    • PHP
  • エクセル 入力規則でドロップダウンリストが表示されない

    いつもお世話になります。 エクセル2000の入力規則のリストで、ドロップダウンリストを使って文字を入力したいのですが、ドロップダウンリスト"から選択する"にチェックを入れているのに、何故かドロップダウンのマークが 表示されません。

  • 選択したsheetの内容を表示

    「sheet1」の「A1」で(sheet名)をドロップダウンから選択すると 「sheet1」の「B列」に、選択したsheetの「B列」の内容が表示されるようにしたいのですが、 1.「sheet1」の「B列」に入る式。 2.「sheet1」の「A1」にsheet名のドロップダウンを表示するためのリストを   sheetが増える毎に自動的にリストに加わるようにする方法。 を教えて下さい。 WinXP Excel2003です。

  • エクセルでドロップダウンリストを使いたい

    こんにちは。 エクセルでのデータの入力にドロップダウンリストを使いたいのですが 方法がわからないので教えてください。 やりたいことは以下のとおりです。 ・ドロップダウンリストは初めから表示する。  (クリックしたら表示されるのではだめ) ・ドロップダウンリストの選択項目はセル参照でも  直接入力でもどちらでもよい。 クリックしたら表示される方法はなんとかわかったのですが、 初めから表示しておくやり方がわからないです。 よろしくおねがいいたします。

  • Excel 入力規則のリストをカウントアップさせて上から順に選択回数の多いものを表示させる

    初めまして。 Excel2002を使用しております。 先ずそれぞれのシートのご説明をさせて頂きます。 Sheet1・・・40名程度の氏名とそれぞれの氏名の下に項目を入れており、名前の定義をそれぞれの氏名で作成しております。 Sheet2・・・Sheet1の名前定義を入力規則でドロップダウンリストにしており、それぞれの氏名の横にドロップダウンリストを入れております。 Sheet2でドロップダウンリストに表示された項目を選択するとSheet1の項目欄横のセルに数字がカウントアップされて行き、降順並べ替えを行う事でSheet2で使用するドロップダウンリストに表示される順番が変わるという形にしたいのですが、何か良い方法がございますでしょうか? 情報が少なく分かり難いかも知れませんがご教授願います。

  • エクセルのドロップダウンリストでやりたいこと!

    以前エクセルで、ドロップダウンリストで20名ほどの人名があり、 Qという名前をA1あたりで選ぶと、その下の表記がQさんの成績が 直ぐに表示されました。同じように、Hさんの名前をドロップダウンリストから 選ぶと、下の表示はHさんの成績がばばっと表示されました。 このように、ドロップダウンリストで特定の項目を選ぶと その項目の内容が表示されるようなものを作りたいのですが、 どのようにして行うのでしょうか? 一つずつ、IF(A1=Q,""・・・のようにやるのはとても大変だと 思いますが、どのようにして行うのでしょうか?

  • フォームを作成しています。

    フォームを作成しています。 チェックボックスとドロップダウンリストを連動したいと思います。チェックボックスが選択されればその内容を送信できるけれど、チェックボックスがチェックされていないとドロップダウンリストは選択できないようにしたいと思います。10位のチェックボックスとドロップダウンリストの組み合わせを作りたいと思います。 どのようなコードを使えばいいでしょうか?CGIを使ってフォームを作成中です。 よろしくお願いします。

  • エクセルのドロップダウンリストについて(再)

    ドロップダウンリストで、参照先のリストは、単一の行、もしくは列でないといけないともいますが、たとえば、A1列にあらかじめ設定されたドロップダウンリストを表示(※ドロップダウンリストの右隣の▼ボタンを押したときに表示される内容です。)させたときに、A0001などのリストの隣、もしくは下にそれに対応する商品名を表示させるにはどうしたらいいのでしょうか? 先程やっていたら偶然にできたのですが、しばらくしたら更新されやり方が分からなくなりました。

  • スタートアップの「最近使った項目」で最新項目が表示されません

    Microsoft Vista Home Premiumのスタートアップで「最近使った項目」をクリックしても最新の使用したファイルが表示されません。古い順に表示され、更新されません。仕方なく右クリックで「開く」をクリックし、そのリスト表示で更新日時をクリックして、最新のリストを表示して選択するしかありません。  最新の表示ができるようにする方法を教えて下さい。   また、最近使った項目のクリアは、ヘルプ情報では、[最近使ったファイル] を右クリックし、[最近使った項目の一覧のクリア] をクリックしますとなっていますが、[最近使った項目の一覧のクリア]の項目が表示されません。項目を表示する方法を教えて下さい。

  • EXCEL ピボットテーブルのドロップダウンリスト

    EXCEL(2003)のピボットテーブルで、集計のkeyに選んだ フィールドにはドロップダウンリストで表示対象が 選択できるようにボタンがつきますが、 このドロップダウンリストの内容が現時点のデータ のみならず、過去のものが残ったままになります。 その時点で参照しているデータソースの内容だけが表示されるようにするにはどうすれば良いでしょうか?

専門家に質問してみよう