2012-03-21 7 views
1

私の質問は、単にリストビュー内のすべてのセルの最初の6文字の背景色(またはテキストの色)をどのように変更するのですか? (最初の6つの文字は、日付が含まれている例「1月1日:何とか何とか何とかデータデータ...」。)Android ArrayAdapter Style

私は自分のページ上の1つのリストビューを持って、それは、SOAP Webサービスの呼び出し

 SoapObject oResponse = (SoapObject)soapEnvelope.getResponse(); 
     ArrayList<String> oStringList = new ArrayList<String>(); 
     for(int i = 0; i < oResponse.getPropertyCount(); i++) 
     oStringList.add(oResponse.getProperty(i).toString()); 
     lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, oStringList)); 
から動的に読み込まれます

ガイダンスをいただければ幸いです。

答えて

0

TextViewのテキストを設定する場合は、Spannableを使用してスパンの色を変更できます。ここでは、フォアグラウンドカラーを6文字の赤に設定する例を示します。 getViewでこのコードを使用し、その特定のセルのtvはTextViewです。

TextView tv = ... 
String text = "Jan 01: Blah blah blah data data..."; 
int startColor = 0; 
int endColor = 6; 
int color = 0xffff0000; 
Spannable spannable = new SpannableString(text); 
spannable.setSpan(new ForegroundColorSpan(color), startColor, endColor, 0); 
tv.setText(spannable); 
+0

すごくお返事ありがとうございます。 textViewがリストビューにどのように接続(または入力)するのかよく分かりませんか?私は現在、リストビューにlv.setAdapterを設定しています(新しいArrayAdapter (this、android.R.layout.simple_list_item_1、zarray)); – AhabLives

0

dldnhの答えは正しいですが、もう一つの方法は、TextViewに互いの隣に、日付の1とあなたの実際のテキストのための1つに持っていることであろう。したがって、このような何か:

<LinearLayout android/+id="rowLayout" android:width="wrap_content" android:height="wrap_content" android:orientation="horizontal"> 
    <TextView android/+id="txtDate" android:text="Jan 01" android:textColor="@color/red" android:width="wrap_content" android:height="wrap_content"/> 
    <TextView android/+id="txtItem" android:text="blah blah blah" android:layout_marginLeft="5dp" android:width="wrap_content" android:height="wrap_content"/> 
</LinearLayout> 

だからあなたのアダプタで、getView(int position, View v)をオーバーライドする(私はそれが何だったかだかなり確信している)、あなたがそこにテキストを設定することができます。

0

あなた自身のArrayAdapterレイアウトを作ってください。

この新しいレイアウトでは、listviewの各データには2つの部分(2つのテキストビュー)があり、それをhorizontal linearlayoutに入れます。最初のtextview、あなたはあなたの言うようにその属性を作る。

0

私はあなたにこれのための簡単な解決策を提供します。 HTMLのテキストブロックの色を変更するコードを書き留めるだけです。いくつかのような

String s = "<text color=red>abcdef</text>"+"continuition part will be placed here"; 

TextView Object.setText(Html.toHtml(s)); 

私は正確にテキストの色を変更するにはHTMLの正確なコードを知りません。ちょうどそれをGoogle。

これが問題を解決します。

関連する問題