2012-05-17 19 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 फ़ाइल को संपादित करें और टेक्स्ट रंग बदलें।

एडाप्टर = नया Arr ayAdapter (यह, 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

मैं एंड्रॉइड.R.layout.simple_list_item_multiple_choice कैसे ढूंढ सकता हूं? –

+1

आप एंड्रॉइड.आर.लेआउट.simple_list_item_multiple_choice पर बस Ctrl + mousehover कर सकते हैं .. लेकिन मैंने उस कोड को चिपकाया – vnshetty

+0

त्रुटि: त्रुटि: स्ट्रिंग प्रकारों की अनुमति नहीं है ('layout_width' मूल्य 'match_parent' के साथ)। –

1

आप एक्सएमएल लेआउट में सेट कर सकते हैं:

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

या प्रोग्राम के रूप में:

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

आप देख सकते हैं अगर मैं एक TextView की जरूरत नहीं है का पालन करें !! –

0

कस्टम एडाप्टर लिखने के लिए बेहतर।

वैकल्पिक नहीं बल्कि अच्छा 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 
/> 

की इस लेआउट एक्सएमएल inspace का उपयोग यह वही android.R.layout.simple_list_item_multiple_choice लेआउट है, लेकिन अपने अब अपनी लेआउट में एक ही कर रहे हैं इसमें बदलाव करने के लिए एक ही आईडी के साथ।

+0

मैं एक नई एक्सएमएल फ़ाइल बना देता हूं और इसे कॉपी करता हूं या क्या? –

+0

अपने किसी भी नाम के साथ लेआउट में एक नया एक्सएमएल बनाएं, इस कोड को उस एक्सएमएल में पेस्ट करें और अपने एडाप्टर में android.R.layout.simple_list_item_multiple_choice के स्थान पर इस एक्सएमएल का उपयोग करें। पूर्व परिभाषित करने के रूप में ArrayAdapter आईडी प्राप्त करने के लिए आईडी "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" 
/> 
संबंधित मुद्दे