2011-06-04 19 views
0

新しいAndroidデベロッパーはこちら私は、ユーザーがSQLite dbで検索する前にいくつかの検索条件を設定できるフォームを作成しています。フォームの一部にいくつかのチェックボックスが含まれています。彼らの価値観を「ベストプラクティス」の意味でどのように伝えますか?複数のチェックボックス値をアンドロイドで取得していますか?

私はPHPに慣れていますので、すべての値を持つ配列やオブジェクトを返すメソッドを設定し、そのメソッドを 'onClick'メソッドの中で呼び出すこともできますが、Java ?

私のコードは次のようになります。

// Setup a listener, and event handler for the onClick event of the button 
    buttonFind.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      // Perform action on click 
      String text = "Button clicked"; 
      int duration = Toast.LENGTH_SHORT; 
      Context context = getApplicationContext(); 

      Toast toast = Toast.makeText(context, text, duration); 
      toast.show(); 
     } 
    }); 
+0

あなたのコードは何も "呼び出す"ようではありません。 – trutheality

答えて

4

それはあなたの質問に詳細を与えることはおそらく良いでしょう。あなたはチェックボックスを定義するコードのどこにも表示しないので、私はいくつかの仮定をします:

あなたのアクティビティのあなたのonCreate()メソッドのどこかに、

CheckBox myCheckbox = (Checkbox) findViewById(R.id.my_checkbox); 

あなたは(あなたが上記のそれを掲示するので)チェックボックスがあなたのボタンのonClick()メソッドで確認されているかどうかを知りたい場合は、あなたがこのような何かを行うことができます:

boolean isMyCheckboxChecked = myCheckbox.isChecked(); 
このようになります

あなたのために働くことを望みます。次回はあなたの質問にもっと明確にしようとする。

+0

申し訳ありませんが、私は自分のコードのいくつかの重要な部分を除外したと思います。私の懸念は、手順上のアプローチ(すなわち、onClickメソッド自体のチェックボックスのチェック)をすること、またはチェックボックスをチェックし、配列やオブジェクトの形式でそのデータを返すメソッドを書くことでした。つまり、私のロジックをグループ化し、自分のコードをより読みやすくする)。だから私はそれがベストプラクティスの質問の多くだと思います:) –

+1

これには "ベストプラクティス"はありません。それはあなたのアプリに完全に依存します。チェックボックスがたくさんある場合は、すべての状態を読み込み、必要な形式であなたのためにバンドルされた値を返す1つの関数を用意したいと思うでしょう。 – wnafee

+1

もう1つの方法は、チェックボックスの状態を更新することです。ボタンをクリックしたときに最後に行うのではなく、チェックボックスをオン/オフにします(おそらくアプリケーションの応答性が向上します)。これを行うには、 'OnCheckedChangeListener'をセットして、すべてのチェックボックスに設定した一般的なものを作ります。 myView.getId()を実行して問題のチェックボックスを識別し、識別したチェックボックスのすべてのチェックボックスの状態を保持する適切なデータ構造を更新する 'switch'ステートメントを作成します。 – wnafee

関連する問題