我正在使用Fragment类,我想更改文本视图的颜色在我的编辑文本上更改文本时。在EditText中更改文本时,有哪些方法可以更改TextView的背景颜色。我的代码如下所示:
public class Fragment_AboutUs extends android.app.Fragment {
TextView about_btn_call_customer;
TextView about_btn_Submit;
EditText about_feedback;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.layout_fragment_about_us, container, false);
//reference section
about_btn_call_customer= (TextView) rootView.findViewById(R.id.about_btn_call_customer);
about_btn_Submit=(TextView)rootView.findViewById(R.id.about_btn_Submit);
about_feedback=(EditText)rootView.findViewById(R.id.about_feedback);
return rootView;
}
}
任何形式的帮助都将受到赞赏。
答案 0 :(得分:1)
像这样使用TextWatcher:
TextWatcher textWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void afterTextChanged(Editable s) {
textView.setTextColor(Color.parseColor("#..."));
}
};
editText.addTextChangedListener(textWatcher);
注意:您也可以使用textView.setTextColor(getResources().getColor(R.color.mycolor))
答案 1 :(得分:1)
我的解决方案是@GuiihE代码的一点修改。 尝试这个解决方案,它将根据您的要求工作:
TextWatcher textWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void afterTextChanged(Editable s) {
about_btn_Submit.setBackgroundColor(Color.parseColor("#9CCC65"));
}
};
editText.addTextChangedListener(textWatcher);
答案 2 :(得分:0)
将TextChangedListener
添加到EditText
,如下所示:
about_feedback.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {
// do what ever you want to TextView
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){}
});
答案 3 :(得分:0)
您可以使用TextWatcher
例如:
EditText about_feedback= (EditText)findViewById(R.id.medittext);
about_feedback.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
doSomething();
}
});
你可以使用
about_btn_Submit.setTextColor(Color.parseColor("#FFFFFF"));
更改TextView
所以,
在您的代码中,请在onTextChanged()
中执行此操作,即
public void onTextChanged(CharSequence s, int start, int before, int count) {
about_btn_Submit.setTextColor(Color.parseColor("#FFFFFF"));
}
答案 4 :(得分:0)
谢谢大家的回答@GuiLhe i跟着你的回答,我想改变TextView的背景颜色,所以我写了
about_btn_Submit.setBackgroundColor(Color.parseColor("#9CCC65"));
而不是
textView.setTextColor(Color.parseColor("#9CCC65"));
再次感谢您