2012-05-17 106 views
6

我有一個白色的背景,但與此佈局我被封鎖,因爲文字顏色也是白色的,我找不到解決方案,使它紅色,所以我可以設置我的白色背景,請任何幫助(作爲你可以看到我被迫使用紅色背景她所以我可以看到白色的文字)。改變文字顏色

public class QueueListActivity extends ListActivity { 
// LIST OF ARRAY STRINGS WHICH WILL SERVE AS LIST ITEMS 
ArrayList<String> listItems = new ArrayList<String>(); 
String newtext; 
String listFiles; 
// DEFINING STRING ADAPTER WHICH WILL HANDLE DATA OF LISTVIEW 
ArrayAdapter<String> adapter; 

// RECORDING HOW MUCH TIMES BUTTON WAS CLICKED 
int clickCounter = 0; 

ArrayList<String> selectedItems = new ArrayList<String>(); 


@Override 
public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.queuelistactivity); 
    Bundle extras1 = getIntent().getExtras(); 
    listFiles=GetFiles(); 

    StringTokenizer tokonizer1 = new StringTokenizer(listFiles,";"); 
    while(tokonizer1.hasMoreElements()){ 
     Log.i("verif","0"); 
     listItems.add(tokonizer1.nextToken());} 
      initializeListItems(); 



    if (extras1 != null) { 
     newtext = extras1.getString("newitem"); 
     listItems.add(newtext); 
     adapter.notifyDataSetChanged(); 
     getListView().setItemChecked(listItems.size() - 1, false); 

    } 




} 



// METHOD WHICH WILL HANDLE DYNAMIC INSERTION 
public void addItems(View v) { 

    Intent intent = new Intent(QueueListActivity.this, AjouterFiles.class);  
    QueueListActivity.this.startActivity(intent); 


    /* 
    listItems.add(userName); 
    adapter.notifyDataSetChanged(); 
    getListView().setItemChecked(listItems.size() - 1, false);*/ 


} 

public void deleteItems(View v) { 
    String toDelete = ""; 
    SparseBooleanArray sp = getListView().getCheckedItemPositions(); 

    for (int i = 0; i < sp.size(); i++) { 
     toDelete += ";" + sp.get(i); 
     if (sp.get(i)) { 
      listItems.remove(i); 
     } 

    } 
    adapter.notifyDataSetChanged(); 
    Toast.makeText(getApplicationContext(), toDelete, Toast.LENGTH_LONG).show(); 
    initializeListItems(); 
} 

private void initializeListItems() { 
    adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice, listItems); 
    setListAdapter(adapter); 
    ListView lv = getListView(); 
    lv.setCacheColorHint(Color.rgb(0, 0, 0)); 
    lv.setBackgroundColor(Color.rgb(178, 34, 34)); 


    for (int i = 0; i < lv.getCount(); i++) { 
     lv.setItemChecked(i, false); 
    } 
} 
+0

複製烏爾XML文件在這裏 – Abhinai

回答

11

絕招是你從android.R.layout.simple_list_item_multiple_choice複製內容佈局文件,並讓自己的佈局(my_list_view並編輯xml文件並更改文字顏色

adapter = new Arr ayAdapter(this,my_list_view,listItems);

編輯將此文件保存爲my_list_view;

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:gravity="center_vertical" 
    android:checkMark="?android:attr/listChoiceIndicatorMultiple" 
    android:paddingLeft="6dip" 
    android:paddingRight="6dip" 
    android:backdround="#FFFFFF" //white background 
    android:textColor="#000000" //black color text 
/> 
+0

我怎麼找到android.R.layout.simple_list_item_multiple_choice? –

+1

你可以在android.R.layout.simple_list_item_multiple_choice上按Ctrl + mousehover ..但我粘貼的代碼見 – vnshetty

+0

錯誤:錯誤:字符串類型不允許('layout_width'值'match_parent')。 –

1

您可以設置它在XML佈局:

<TextView 
... 
... 
android:textColor="#FF0000" > 
</TextView> 

或以編程方式:

textview.setTextColor(Color.RED); 
//textview must be defined in your class 
+1

如果你能看到我沒有一個TextView! –

0

最好寫自定義adpter。

備用反而不好soltuon是使用android.R.layout.simple_list_item_multiple_choice

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:gravity="center_vertical" 
    android:checkMark="?android:attr/listChoiceIndicatorMultiple" 
    android:paddingLeft="6dip" 
    android:paddingRight="6dip" 


    android:textColor= Color.Red  //please correct the syntax 
/> 

的這種佈局XML inspace這是相同android.R.layout.simple_list_item_multiple_choice佈局,但現在你在你的佈局使得相同使用相同的ID來進行更改。

+0

我做了一個新的XML文件,並將其複製到或什麼? –

+0

使用任何名稱在佈局中創建一個新的xml,將該代碼粘貼到該xml中,並使用此xml代替適配器中的android.R.layout.simple_list_item_multiple_choice。由於預先定義的ArrayAdapter會在get view中查找id「text1」,並且會像在xml中那樣獲得。 –

+0

我現在有這個錯誤:錯誤:字符串類型不允許('layout_width'值'match_parent')。 –

0

你可以嘗試自定義列表視圖..按照鏈接click here

0
<TextView 
     android:id="@+id/text_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:text="Name" 
     android:textColor="@color/white" 
     android:textSize="11dp" 
/> 
4
android:textColor="@android:color/white"