1

まさに私が必要としているものなので、私はこのチュートリアルに従っていました:

http://www.marvinlabs.com/2010/10/custom-listview-ability-check-items/

残念ながら、彼らのサイトはダウンしているので、私はキャッシュされたバージョンを使用しています:

http://webcache.googleusercontent.com/search?q=cache:pXvzFq7UR-sJ:www.marvinlabs.com/2010/10/custom-listview-ability-check-items/+&cd=1&hl=en&ct=clnk&gl=us

RelativeLayoutアイテムの行のカスタムを作成するステップまでです。コードにエラーが発生しましたが、修正方法がわかりません。たとえば、次の行で:

for (Checkable c : checkableViews) {
    // Pass the information to all the child Checkable widgets
    c.setChecked(isChecked);
}

このエラーが発生します:

Type mismatch: cannot convert from element type Object to Checkable

私はこれまで使ったことがCheckableなく、それがどのように機能するのかわかりません。

誰かがこれを実装するのを手伝ってもらえますか?

4

1 に答える 1

1

オブジェクトをCheckableオブジェクトにキャストすることができます。

for (int i = 0; i < checkableViews.size(); i++) {
    Checkable c = (Checkable) checkableViews.get(i);
    // Pass the information to all the child Checkable widgets
    c.setChecked(isChecked);
}

または、リストを宣言するときに、リストに格納されているオブジェクトのタイプを指定することもできます。次に例を示します。

List<Checkable> checkableList;
checkableList = new ArrayList<Checkable>();

そうすれば、元のforループは正常に機能するはずです。

于 2012-07-30T23:08:31.090 に答える