2017-10-03 5 views
0

ハローみんなを切り替えるためのテキストビューは、私のチェックをテキストビュー方式 で確認が、スイッチの嗜好は、私は同じことをしたい私はこれを使用すべきかのメソッド好み を切り替えるために、私のチェックをテキストビューを変更したい好み

final CheckedTextView cc = (CheckedTextView) findViewById(R.id.checkedTextView); 
    if (!mysetting.service) { 
     ctv.setChecked(false); 
    } else if (mysetting.service) { 
     ctv.setChecked(true); 
    } 
    ctv.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      if (ctv.isChecked()) { 
       mysetting.service = false; 
       ctv.setChecked(false); 
       Editor editor = PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit(); 
       editor.putBoolean("service", false); 
       editor.commit(); 
       return; 
      } 
      ctv.setChecked(true); 
      mysetting.service = true; 
      editor = PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit(); 
      editor.putBoolean("service", true); 
      editor.commit(); 
     } 

答えて

0

非常にこのビューはCompoundButton(link)になると、(チェック)またはオフ(オフ)オンにsetOnCheckedChangeListenerを使用することをお勧めします:

switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
    if(ischecked){ 
     //do something if is checked 
    }else{ 
    //do something if is unchecked 
    } 
} 

});

+0

はもっとしてください –

+0

CheckedTextViewないコンテナsetOnCheckedChangeListenerを説明するのに役立つことを願って。 – Dungnbhut

0
private boolean serviceEnable = false; 

    public boolean isServiceEnable() { 
     return serviceEnable; 
    } 

    public void setServiceEnable(boolean serviceEnable) { 
     this.serviceEnable = serviceEnable; 
    } 

    private void savePreference() { 
     SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(this).edit(); 
     editor.putBoolean("service", isServiceEnable()); 
     editor.commit(); 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.checked_textview); 

     final CheckedTextView cc = (CheckedTextView) findViewById(R.id.check_text_view); 
     cc.setChecked(isServiceEnable()); 

     cc.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       setServiceEnable(!isServiceEnable()); 
       cc.setChecked(isServiceEnable()); 
       savePreference(); 
      } 
     }); 
    } 

私はそれはあなた

+0

助けてくれてありがとう、しかし、私は何をしたいSwitchPreferenceを代わりに使用していますチェックされたテキストビュー、 –

+0

設定を変更すると常に値を更新します。 – Dungnbhut

+0

あなたの答えはあなたがチェックしたテキストビューを使用しますが、私が望むのは、スイッチの設定が何であるかわからない場合は、スイッチの設定を使用することです –

関連する問題