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

  • Epic Tutorials for iPhone, iPad and iOS

    Epic Tutoria

    18 EYLÜL 2011
  • knopik96

    knopik96

    7 Mayıs 2011
  • Press Start

    Press Start

    4 HAZİRAN 2006