2011-09-10 4 views
1

임 이런 일을하려고 :.setEnabled()가있는 옵션 메뉴 버튼 사용/사용 안함?

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu, menu); 
    //multiListener = false; 
    menu.add(0,START_DELETE,0, "Delete selected..").setEnabled(multiListener); 
    return true; 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
    case R.id.multiselect: 
     if(multiselect == 0) { multiselect = 1; 
     multiListener = true; 
     Log.d("DH", "index="+multiListener); 
     } 
     else if(multiselect == 1) { multiselect = 0; multiListener = false; 
     Log.d("DH", "index="+multiListener); 
     } 
     fillData(); 
     return true; 
    case START_DELETE: 
     Toast.makeText(Notepadv3.this, "Pressed delete", Toast.LENGTH_SHORT).show(); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 

    } 
} 

기본적를, 경우 multiListener = TRUE; "선택 삭제 ..."할 압하 그렇지 않으면 그것을 밖으로 회색 ...

..이 나와 함께 일하고 싶어하지 않습니다이 간단하고, 일이, 어떻게 든위한

는 ... 버튼이 항상 회색으로 표시됩니다 , 로그가 말하길, 그것은 사실로 바뀝니다 ...

누구든지, 뭔가 알고 있니?

답변

3

setEnabled()으로 다시 전화하여 항목의 상태를 변경해야합니다. 상태는 변수에 바인딩되지 않습니다. 이 메서드는 onPrepareOptionsMenu()에서 호출해야합니다.

+0

감사합니다. 이것은 행위를했다 :) – DreamHawk