0

私のAndroidアプリケーションでは、

9X9 セル (ボタン/画像) のグリッドがある画面があります。

背景として2つの異なる画像を使用して、セルの選択済みまたは未選択の状態を示す必要があります(オンとオフなど)。

現在、私はボタンを取り、ボタンをクリックすると、ボタンの背景画像をオンからオフに、またはその逆に変更しています。

私の質問は、

1. 「クリーンコード」の観点から、これはそれを処理する正しい方法ですか?

2.タスクを実行するためのより良い方法はありますか?

(注:将来の機能のために、すでにオンになっている場合でもボタンをクリックするオプションを保持したい)

ありがとう :)

4

2 に答える 2

1

一般的にプログラマーが行うように、ボタンを使用できますが、代わりに使用することをお勧めしますToggleButton

Button で ToggleButton を使用する利点は、ユーザーがボタンを 1 回選択したかどうかを記憶するためにフラグを使用してプログラムでボタンの状態を維持する必要がないことです。以下は同じデモ コードです。

Layout フォルダー内の XML

 <ToggleButton
            android:id="@+id/tbApp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/selector_toggle_button"
            android:textOff=""
            android:textOn="" />

Drawable フォルダー内の selector_toggle_button.xml

<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/toggle_on" />
    <item android:drawable="@drawable/toggle_off" />
</selector>

それをクリックして取得するJavaコード

tbApp.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                                         //if isChecked==true then selected 
                                         //else deselected
                               }
}
于 2012-06-21T12:12:00.097 に答える
-1

これはここで答えられました

また

アンドロイド ドキュメント

これがあなたが探しているものかどうかを確認してください

于 2012-06-21T08:52:38.850 に答える