如何以编程方式为另一个xml文件设置Textview的背景颜色?

ibu*_*ibu 4 java performance android android-intent android-layout

你是Android的新手如何以编程方式为另一个xml文件设置文本背景颜色我已经使用设置内容视图添加xml文件,但它只有listview,我有另一个xml文件使用模块执行文件,我想文本背景在modelo xml文件中

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望在此文件模式中的文本背景

<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> 
Run Code Online (Sandbox Code Playgroud)

Sat*_*ish 8

检查一下,

TextView textView = (TextView) findViewById(R.id.text1);
textView.setText("Welcome");
textView.setTextColor(Color.WHITE);
textView.setBackgroundColor(Color.RED);
Run Code Online (Sandbox Code Playgroud)


Gun*_*lan 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);
}
};
Run Code Online (Sandbox Code Playgroud)

我希望这能帮到您。