2016-01-23 21 views
1

中顯示的字母改變字母的樣式我想在哪裏有A,B,C,D,E ....改變粗體字樣式並改變背景。 是一種可能性,因爲我試圖(註釋掉行),但總是有些東西不起作用。如何根據android

public View getView(int position, View convertView, ViewGroup parent) { 

    LayoutInflater inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    View gridView; 

    if (convertView == null) { 

     gridView = new View(context); 

     // get layout from mobile.xml 
     gridView = inflater.inflate(R.layout.mobile, null); 

     int y = position/11; 
     int x = position % 11; 

     //if(x<x+11 || x> plansza.length || y<0 || y> plansza[x].length); 

     // set value into textview 
     TextView textView = (TextView) gridView 
       .findViewById(R.id.grid_item_label); 

     textView.setText((x > 0 && y > 0) ? plansza[x-1][y-1].toString().substring(0,1): mobileValues[position]); 

     // set image based on selected text 
     ImageView imageView = (ImageView) gridView 
       .findViewById(R.id.grid_item_image); 

     String mobile = mobileValues[position]; 
     //Spannable spn = (Spannable) textView.getText(); 
     SpannableString spannable = new SpannableString(mobile); 

     if (mobile.equals("A")) { 
      //spannable.setSpan(new ForegroundColorSpan(Color.RED), 0, mobile.length(), 0); 
      //spn.setSpan(new BackgroundColorSpan(Color.RED), 0, 7,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
      //spn.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC),0, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
      //imageView.setImageResource(R.drawable.windows_logo); 
     } 
     else if (mobile.equals("B")) { 
      //imageView.setImageResource(R.drawable.ios_logo); 
     } 
     else if (mobile.equals("C")) { 
      //imageView.setImageResource(R.drawable.blackberry_logo); 
     } 
     else if (mobile.equals("D")) { 
      //imageView.setImageResource(R.drawable.blackberry_logo); 
     } 
     else if (mobile.equals("E")) { 
      //imageView.setImageResource(R.drawable.blackberry_logo); 
     } 
     else if (mobile.equals("F")) { 
      //imageView.setImageResource(R.drawable.blackberry_logo); 
     } 
     else if (mobile.equals("G")) { 
      //imageView.setImageResource(R.drawable.blackberry_logo); 
     } 
     else if (mobile.equals("H")) { 
      //imageView.setImageResource(R.drawable.blackberry_logo); 
     } 
     else if (mobile.equals("I")) { 
      //imageView.setImageResource(R.drawable.blackberry_logo); 
     } 
     else if (mobile.equals("J")) { 
      //imageView.setImageResource(R.drawable.blackberry_logo); 
     }else { 
      //imageView.setImageResource(R.drawable.android_logo); 
     } 

    } else { 
     gridView = (View) convertView; 
    } 

    return gridView; 
} 

回答

2
Spannable wordtoSpan = new SpannableString("A");   

wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

textView.setText(wordtoSpan); 
+0

我有一個錯誤: java.lang.IndexOutOfBoundsException:setSpan(15 ... 30)結束超出長度1 – MartinusP

+0

在setspan提供的字符串長度 – AKSiddique

+0

有可能添加多個字符串?? Spannable wordtoSpan = new SpannableString(「A」,「B」||「C」); ??? – MartinusP