在我的活动中有一个EditText,一个Toggle Button和一个Test Button。如果我的ToggleButton按下编辑文本背景设置为红色样式(red.xml),并且未按下时设置为Green Stlye(green.xml)。但是,当我按下Test Button alredy时,请写下红色:'(
请帮助我!!
我的代码在这里:
public class MainActivity extends AppCompatActivity implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
ToggleButton Toggle;
EditText ettext;
Button test;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toggle=(ToggleButton)findViewById(R.id.tbkapcsolo);
Toggle.setOnCheckedChangeListener(this);
ettext=(EditText)findViewById(R.id.etszovegmezo);
test=(Button)findViewById(R.id.btnMent);
test.setOnClickListener(this);
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked){
ettext.setBackgroundResource(R.drawable.red);
}else ettext.setBackgroundResource(R.drawable.green);
}
@Override
public void onClick(View v) {
Drawable style=ettext.getBackground();
Drawable green=getResources().getDrawable(R.drawable.green);
if(style==green){
Toast.makeText(this,"GREEN",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(this,"RED",Toast.LENGTH_LONG).show();
}
}
} 谢谢你的帮助!!
答案 0 :(得分:0)
您也已将onClickListner分配给Button。您将在onClickListner中执行的代码将被执行。从按钮中删除onClickListner或为按钮编写一些代码。
希望这会对你有所帮助
答案 1 :(得分:0)
问题可能在于Toggle和onCheckedChanged()方法。 在设置onCheckdChangedListener之前,请尝试将切换设置为true或false。
如果你做了android,你可以在xml中执行此操作:checked =" true"像这样:
{{1}}