如何在Android活动中获取我的EditText背景资源?
我的简短示例应用程序是:
Button1: EditText.setBackgroundResource(R.drawable.redstyle); //Red style xml
Button2: EditText.setBackgroundResource(R.drawable.greenstyle); // Green style xml
if(????????????????????????????????????){
Toast.makeText(this,"Green is selected",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(this,"Red is selected",Toast.LENGTH_LONG).show();
}
答案 0 :(得分:1)
你可以用它来创建一个HashMap,当你在EditText中插入一个背景时,只需要映射它
HashMap<EditText,Integer> hashMap;
edit_text.setBackgroundResources(R.drawable.redstyle);
hashMap.put(edit_text,R.drawable.redstyle);
if(hashMap.get(edit_text)==R.drawable.redstyle)
{
//do something
}else{
//do something
}
答案 1 :(得分:1)
试试这个,
if(edit_text.getBackground()==getResources().getDrawable(R.drawable.redstyle)){
Toast.makeText(MainActivity.this,"red selected",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(MainActivity.this,"Green selected",Toast.LENGTH_LONG).show();
}
答案 2 :(得分:0)
我的第一个想法是editTextState
。像这样的东西
Button1: EditText.setBackgroundResource(R.drawable.redstyle); //Red style xml
editTextState = 1;
Button2: EditText.setBackgroundResource(R.drawable.greenstyle); // Green style xml
editTextState = 2;
if(editTextState == 2){
Toast.makeText(this,"Green is selected",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(this,"Red is selected",Toast.LENGTH_LONG).show();
}
您可以根据在xml布局上设置的editText背景颜色来定义状态值。例如,如果您将editText设置为红色背景:
int editTextState = 1;