2016-04-17 20 views
0

私の活動では、1つのEditText、1つのToggle Buttonと1つのTest Buttonです。私のトグルボタン押された編集テキストバックグラウンドが赤いスタイル(red.xml)で設定され、緑のスタイル(green.xml)で設定されていない場合。私はテストボタンを押したときにでも、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

をあなたはonClickListnerをButtonに割り当てました。あなたはonClickListnerで実行されたコードを、ボタンから削除したり、ボタンのコードを書くことができます。

これはあなたに役立ちます。

+0

は、プログラムがバックグラウンドをチェックしている –

0

問題はToggleとonCheckedChanged()メソッドで問題になる可能性があります。 onCheckdChangedListenerを設定する前に、Toggleをtrueまたはfalseに設定してみてください。

あなたがアンドロイド行う場合は、XMLでこれを行うことができます。このような=「true」をチェックする:クリックしてプログラムに

<Switch 
    android:id="@+id/switchid" 
    android:checked="true"/> 
+0

ポップアップで「RED」または「GREEN」を見せて色が、背景が緑色でテストボタンをクリックしていないときは「緑色」を表示....それは赤色を表示 –

関連する問題