编辑文本背景资源

时间:2016-04-17 14:23:15

标签: java android android-edittext

在我的活动中有一个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();

    }
}

} 谢谢你的帮助!!

2 个答案:

答案 0 :(得分:0)

您也已将onClickListner分配给Button。您将在onClickListner中执行的代码将被执行。从按钮中删除onClickListner或为按钮编写一些代码。

希望这会对你有所帮助

答案 1 :(得分:0)

问题可能在于Toggle和onCheckedChanged()方法。 在设置onCheckdChangedListener之前,请尝试将切换设置为true或false。

如果你做了android,你可以在xml中执行此操作:checked =" true"像这样:

{{1}}