SORU
13 Mayıs 2011, Cuma


Nasıl tüm düzen Görünüm yenileme zorlamak için?

Düzen ana kaynak görünüm / yenile yeniden çizilmesini sağlamak için, Etkinlik söylemek istiyorum.() onResume yöntemi. Bunu nasıl yapabilirim ?

Ana düzeni görünümünde, yani ('R. layout.benim Etkinlik adlı mainscreen' aşağıda).() onCreate, bu gibi

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainscreen);
}

Herhangi bir yardım çok takdir, M.

CEVAP
13 Mayıs 2011, Cuma


Kesinlikle bu soruyu cevaplamak için: geçersiz () Kullanın:

()public void geçersiz Beri: API Seviye 1

Tüm görünüm geçersiz. Eğer görünür ise, onDraw(Tuval) gelecekte bir noktada yapılacak. Bu UI iş parçacığı olması gerekir. Non-UI iş parçacığı aramak için postİnvalidate arama().

ViewGroup vg = findViewById (R.id.mainLayout);
vg.invalidate();

Etkinlik devam ettiğinde, kendisi çizmek için her Görünüm sağlar. Geçersiz arama() gerekli. Tema uygulamak için, herhangi bir görünümde, yani, setContentView(R.layout.mainscreen); önce çizilir önce bunu emin olun

public void setTheme (int Reşid) Beri: API Seviye 1

Bu bağlamda ana tema olarak ayarlayın. Bu herhangi bir görünüm İçeriği ((bak) setContentView veya şişirmek(int, ViewGroup çağırmadan önce örneğin) örneği önce çağrılması gerektiğini unutmayın.

Doktor referans burada API: http://developer.android.com/reference/android/view/ContextThemeWrapper.html#setTheme(int)

OnDraw beri) zaten oluşturulmuş Görünümler yöntem çalışır, setTheme çalışmaz. Temaları kendim deneyimim yok ama aklıma gelen iki alternatif seçenek vardır:

  1. onCreate içinde setTheme() çağrısı yerine, ya
  2. (R. layout.setContentView Yinele mainscreen); tüm düzeni reinstantiate zorlamak için.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • schmittastic

    schmittastic

    9 EYLÜL 2009
  • SoundHound

    SoundHound

    8 Mart 2006
  • TastyTuts | Creative video tutorials by Gareth David

    TastyTuts |

    6 Temmuz 2011