SORU
15 AĞUSTOS 2011, PAZARTESİ


Android - Nasıl dinamik olarak değiştirmek için Menü onOptionsİtemsSelected veya onCreateOptionsMenu dışında madde metin

(Switching madde) onOptionsİtemSelected yöntemi dışında bir menü öğesi Başlığı değiştirmeye çalışıyorum.

Ben zaten yapın;

public boolean onOptionsItemSelected(MenuItem item){
    try{
        switch(item.getItemId()){
            case R.id.bedSwitch:
                if(item.getTitle().equals("Set to 'In bed'")){
                    item.setTitle("Set to 'Out of bed'");
                    inBed = false;
                }else{
                    item.setTitle("Set to 'In bed'");
                    inBed = true;
                }
                break;
        }
    } catch(Exception e){
        Log.i("Sleep Recorder", e.toString());
    }
    return true;
}

ancak bu yöntem dışında, belirli bir menü öğesi Başlığı değiştirmek mümkün olmak istiyorum

Yardımlarınız için şimdiden teşekkürler

Andy

CEVAP
15 AĞUSTOS 2011, PAZARTESİ


onCreateOptionsMenu aldığınız Menü nesnesine etkinlik içinde bir başvuru tutmak ve o zaman ve değişim gerektiren Switching almak için kullanmanızı öneriyorum. Örneğin, aşağıdaki hat boyunca bir şey yapabilirsin:

public class YourActivity extends Activity {

    private Menu menu;
    private String inBedMenuTitle = "Set to 'In bed'";
    private String outOfBedMenuTitle = "Set to 'Out of bed'";
    private boolean inBed = false;

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);

        // Create your menu...

        this.menu = menu;
        return true;
    }

    private void updateMenuTitles() {
        MenuItem bedMenuItem = menu.findItem(R.id.bedSwitch);
        if (inBed) {
            bedMenuItem.setTitle(outOfBedMenuTitle);
        } else {
            bedMenuItem.setTitle(inBedMenuTitle);
        }
    }

}

Alternatif olarak, onPrepareOptionsMenu her zaman menüsü görüntülenir menü öğelerini güncelleştirmek için geçersiz kılabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bigky226

    bigky226

    11 HAZİRAN 2006
  • ELPRESADOR

    ELPRESADOR

    21 HAZİRAN 2008
  • Tome Rodrigo

    Tome Rodrigo

    9 Temmuz 2006