简体   繁体   English

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

[英]How to set background color for Textview programmatically for another xml file?

hi am new to android how to set text background color for another xml file in programatically am already add xml file using set content view but it have only listview only and i have one another xml file using module for executing file,i want to text background in modelo xml file嗨,我是 android 新手,如何以编程方式为另一个 xml 文件设置文本背景颜色我已经使用设置内容视图添加了 xml 文件,但它只有列表视图,我有另一个 xml 文件使用模块执行文件,我想文本背景在模型 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();
    }
}

and i want text background in this file modelo我想要这个文件模型中的文本背景

<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> 

Check this one,检查这个,

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

This may be Help You.这可能是帮助你。

textview.setBackgroundResource(R.color.white);

Note :instead of textview you need to write your TextView object name.注意:您需要编写TextView 对象名称而不是textview

try this way.试试这个方法。 Just override getView() method of you adapter.只需覆盖适配器的getView()方法。 And change color from there.并从那里改变颜色。

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);
}
};

I hope this will help you.我希望这能帮到您。

Try This尝试这个

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

For kotlin;对于科特林;

defination textview globaly :定义 textview 全局:

lateinit var option1: TextView

initialize in onCreate() method在 onCreate() 方法中初始化

option1 = findViewById(R.id.option1)

set background color from color.xml从 color.xml 设置背景颜色

option1.setBackgroundResource(R.color.colorBlue)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM