このようにしても、このビューをリサイクルするときに問題が発生します(上下にスクロールしたときに他のビューが赤色で表示されます)。 あなたは()アダプタを無効にし、getViewメソッドの下であなたが望む位置に をビューの色を設定する必要があります -
TextView myText = (TextView) view.findViewById(R.Id ....
if (pos==5)
myText.setTextColor(Color.Red);
else
myText.setTextColor(Color.Black); //original color..
EDIT:あなたは、カスタムXMLを持っている必要はありません
。あなたがアンドロイドのxmlを見つけたら、そのIDを見つけることができます。私はそのandroid.R.id.text1を信じています。ので、あなたのアダプタが
myAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1) {
@Override
public View getView(int position, View v, ViewGroup parent) {
if (v == null) {
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(android.R.layout.simple_list_item_1, null);
}
View view = super.getView(position, v, parent);
if (position==5)
view.setTextColor(Color.Red);
else
view.setTextColor(Color.Black); //original color..
}
myList.setAdapter(myAdapter);
ない、私はそれがすべての権利が、そのようなものだ確かのようになります。.. ことができます願っています。
出典
2011-12-07 11:04:45
Joe
あなたの例を使って、私はxmlのすべてのビューを持っている必要があります。現時点で私はプログラムでこれをやろうとしています。文字列[]を作成して番号を保持した後、文字列[]を持つ新しいArrayAdapterを作成します。それから、私は正しい視点に色をつけようとします。このようにするソリューションをご存知でしょうか? – Aidan
あなたのニーズに合わせて私の答えを編集しました。それが役に立てば幸い。 :) – Joe
私はあなたの答え全体を使用しなかったが、私はそれのために私の問題の解決策を見つけた。ありがとうございました! – Aidan