2013-05-30 37 views
4

嗨新到android如何設置文本背景顏色的另一個xml文件編程方式我已經添加xml文件使用設置內容視圖,但它只有listview只有和我有另一個xml文件使用模塊執行文件,我想在莫德洛XML文件中的文本背景如何以編程方式爲其他xml文件設置Textview的背景顏色?

public void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main1); 
    EXECUTAR = (Button) findViewById(R.id.btn_buscar); 
    ValorBusca = (EditText) findViewById(R.id.txt_buscar); 
    Lista = (ListView) findViewById(R.id.listView1); 
    ValorBusca.setText(""); 
    EXECUTAR.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      QuerySQL(null); 
     } 
    }); 
} 
    public void QuerySQL(String COMANDOSQL) { 
    ResultSet rs; 
    try { 
     Statement statement = ma.connect.createStatement(); 
     rs = statement.executeQuery("SELECT * FROM "+ValorBusca.getText().toString()+""); 
     List<Map<String, String>> data = null; 
     data = new ArrayList<Map<String, String>>(); 
     while(rs.next()) { 
      Map<String, String> datanum =new HashMap<String, String>(); 
      datanum.put("A",rs.getString(1)); 
      datanum.put("B",rs.getString(2)); 
      datanum.put("c",rs.getString(3)); 
      data.add(datanum); 
     } 

     String[] from = {"A","B","c"}; 
     int[] views = {R.id.txttitulo,R.id.txtconteudo,R.id.textview3}; 
     AD = new SimpleAdapter(this, data, R.layout.modelo, from, views); 
     Lista.setAdapter(AD); 

    } catch (Exception e) { 
     Log.e("ERRO",e.getMessage()); 
     Toast.makeText(getBaseContext(),"Enter Table Name",Toast.LENGTH_SHORT).show(); 
    } 
} 

,我想在這個文件中莫德洛

<TableLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:stretchColumns="0,1,2" 
> 

<TableRow 
    android:id="@+id/tableRow1" 
    android:layout_width="2dip" 
    android:scrollbarAlwaysDrawHorizontalTrack="true" 

    android:layout_height="wrap_content"> 
    <TextView 
     android:id="@+id/txttitulo" 
     android:text="Name" 
     android:layout_height="wrap_content" 
     android:layout_width="2dip" 
     android:gravity="left" 
     android:background="@drawable/cell_shape" 
     android:padding="5dip" 

     android:layout_marginLeft="3dp" 
     android:textColor="#0174DF"/> 
    <TextView 
     android:id="@+id/txtconteudo" 
     android:text="Number" 
     android:layout_height="wrap_content" 
     android:layout_width="2dip" 
     android:gravity="left" 
     android:textColor="#0174DF" 
     android:background="@drawable/cell_shape" 
     android:padding="5dip" 
     /> 
    <TextView 
     android:id="@+id/textview3" 
     android:text="Number" 
     android:layout_height="wrap_content" 
     android:layout_width="2dip" 
     android:gravity="right" 
     android:layout_weight="1" 
     android:textColor="#0174DF" 
     android:background="@drawable/cell_shape" 
     android:padding="5dip" 
     android:layout_marginRight="3dp"/> 

</TableRow> 

+0

要AF改變背景顏色都TextView的? –

回答

2

試試這種方法。只需覆蓋適配器的getView()方法即可。並從那裏改變顏色。

AD = new SimpleAdapter(this, data, R.layout.modelo, from, views){ 
@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
View v = convertView; 
if (v == null) { 
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
v = vi.inflate(R.layout.modelo, null); 
} 
TextView text1 = (TextView) v.findViewById(R.id.txttitulo); 
TextView text2 = (TextView) v.findViewById(R.id.txtconteudo); 
TextView text3 = (TextView) v.findViewById(R.id.textview3); 
text1.setTextColor(Color.GREEN); 
text2.setTextColor(Color.GREEN); 
text3.setTextColor(Color.GREEN); 
return super.getView(position, v, parent); 
} 
}; 

我希望這會幫助你。

+0

viewgroup發生了什麼錯? – ibu

+0

我可以知道你的logcat顯示什麼嗎? – Gunaseelan

+0

對不起,它在Android工作室工作!但不能在eclipse中工作,它會顯示在eclipse中創建類文件或界面 – ibu

3

這可以幫助你的文字的背景。

textview.setBackgroundResource(R.color.white); 

注意:代替TextView的你需要寫你的TextView的對象名。

0

嘗試這個

View v=findViewById(R.layout.modelo); 
TextView tv=(TextView)v.findViewById(R.id.txttitulo); 
tv.setBackgroundColor(Color.RED); 
8

檢查這一項,

TextView textView = (TextView) findViewById(R.id.text1); 
textView.setText("Welcome"); 
textView.setTextColor(Color.WHITE); 
textView.setBackgroundColor(Color.RED); 
相關問題