1

私のアプリケーションには、トグル ボタンと textview を備えたリスト ビューがあります。ここでは、リストに対して 2 つのアクションを実行します。

1)トグルボタンをクリックします。2) リスト ビュー アイテムをクリックします。どちらもうまく機能していますが、トグルボタンをクリックすると、オン、オフの条件に基づいてアクションを実行しました。しかし、条件が正しく機能していません。オフの状態が表示されるたびに。次のコードは次のとおりです

public View getView(final int position, View convertView,
            ViewGroup parent) {
        View v = null;
        TextView arryText;

        SharedPreferences sh = MainActivity.this.getSharedPreferences(
                "onOrOff", MODE_WORLD_READABLE);

        Boolean[] onOff = new Boolean[] { sh.getBoolean("SUNDAY", false),
                sh.getBoolean("MONDAY", false),
                sh.getBoolean("TUESDAY", false),
                sh.getBoolean("WEDNESDAY", true),
                sh.getBoolean("THURSDAY", false),
                sh.getBoolean("FRIDAY", true),
                sh.getBoolean("SATURDAY", false) };

        if (v == null) {
            LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.inflate, null);

            arryText = (TextView) v.findViewById(R.id.inflateText);
            togg = (ToggleButton) v.findViewById(R.id.toggleButton1);

            togg.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    if (togg.isChecked()) {

                        Toast.makeText(MainActivity.this, "ison",
                                Toast.LENGTH_SHORT).show();

                    } else {
                        Toast.makeText(MainActivity.this, "isoff",
                                Toast.LENGTH_SHORT).show();
                    }
                }
            });

            arryText.setText(days[position]);

        }

        return v;

    }

「オフです」となるたびに、誰か助けてくれますか

4

2 に答える 2

1

すべての複合ボタン (特に ToggleButton) にはリスナー OnCheckedChangedListener があり、 togg.setOnCheckedChangedListener() メソッドでオーバーライドしてみてください

于 2012-10-26T11:14:11.047 に答える
0

トグルボタンのリスナーが間違っています。xmlでこのように言及します:

android:textOff = "@ string / no" android:textOn = "@ string / yes"

トグルボタンの場合、および次のようなJavaコードの場合:

トグルボタン.getText()。toString();

これは動作するコードです!!! :)

于 2012-10-26T11:22:58.717 に答える