私は多くのアイテムで構成されたグリッドを持っています。ユーザーがグリッド内のアイテムをクリックできるようにしたい。アイテムが強調表示されます。別の項目をクリックすると、元の表示がハイライトされ、新しい項目が強調表示されます。Androidスタジオ - 選択したグリッドアイテムをハイライト表示し、他のすべてのハイライトを強調表示するにはどうすればよいですか?
各ボックスは、背景の色が異なるTextViewです。私はどのようにハイライトするのか分かりませんので、現在私はボックスに「X」を入れています。私の質問は、以前に設定されたXを削除する方法です。ここで
は(patternColour名前と進コードを持っているだけのオブジェクトである)、これまでに私のコードです:
coloursGrid = (GridView) findViewById(R.id.gridViewColoursGrid);
patternColourAdapter = new PatternColourAdapter(this, R.layout.colour_grid_layout, gridItemsColours);
coloursGrid.setAdapter(patternColourAdapter);
coloursGrid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Highlight selected colour, and unhighlight all others
TextView unselected;
for(int ii=0; ii<parent.getCount(); ii++) {
unselected = ????; // Don't know what to put here!
unselected.setText("");
}
TextView selected = (TextView) view;
selected.setText("X");
}
});
うまくいけば、それは私が必要とするすべてのコードです - 必要に応じてさらに追加することができます。疑問符の代わりに何を試しても、エラーが発生しています(ビルドが失敗するか、その時点でアプリケーションがクラッシュする)。
どのようにすべてのTextViewをループし、それらのテキストをすべて解除するのですか?
ありがとうございました。
ありがとうございます。 choiceModeの設定は私が逃したものでした、と私は思います!私は、イメージを使用して色分けを別の方法で行うことに決めました。私が達成しようとしていることをもう一度見たとき、より良く見えると思います。ご協力いただきありがとうございます! – Sharon