2014-06-11 138 views
0

如何獲取android:checkable="true"MenuItem更改其狀態,然後顯示ifelse更改MenuItem複選框狀態

@Override 
public boolean onMenuItemClick(MenuItem item) { 
// TODO Auto-generated method stub 
    switch (item.getItemId()) { 
     case R.id.my_checkbox_item: 
      MenuItem check = (MenuItem) findViewById(R.id.checkbox_xml_element); 
       if (((MenuItem) check).isChecked()) { 
        ((MenuItem) check).setChecked(false); 
        Toast.makeText(getApplicationContext(), "Menu item not true andytmwiodjflsdf", Toast.LENGTH_LONG).show(); 
       } 
      return true; 
     default: 
      return false; 
    } 

當前代碼崩潰。

如果這是一個重複的,請聯繫起來。

謝謝

回答

1

試試這個,chbEditMode在我的例子被聲明爲私人複選框chbEditMode;然後在後面的代碼我初始化它作爲遵循chbEditMode =(複選框)v.findViewById(R.id.chbEditMode);或沒有'v'。如果你不在碎片上工作。最後,這是我用來查找CheckBox狀態並執行任何代碼的代碼。

chbEditMode.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     if (isChecked) { 
      editMode = true; 
      EditMode(editMode); 
     }else { 
      editMode = false; 
      EditMode(editMode);    
     } 

    } 
}); 

我希望它有幫助,祝你好運!

相關問題