0
@Override
protected void onResume() {
Log.v(TAG, " onResume() disables the OK button");
// onAuthentificated will re-enable it
findViewById(android.R.id.button1).setEnabled(false);
super.onResume();
}
後來恢復活動,將認證成功,我的回調被稱爲
@Override
public void onAuthenticated(String username) {
Log.v(TAG, "user can press button");
findViewById(android.R.id.button1).setEnabled(true);
super.onAuthenticated(username);
}
我知道setEnabled(true)
被稱爲最後。
我的問題是,按鈕保持灰色。發生了什麼,我該如何解決這個問題?
佈局(但它不會幫助)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/VerticalLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<!-- other stuff -->
<Button
android:id="@android:id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="@android:string/ok" />
</LinearLayout>
這裏是logcat的最後幾行
08-30 13:00:45.182: V/ReportActivity(344): onResume() disables the OK button
8-30 13:00:45.382: I/ReportActivity(344): Authentification token callback
08-30 13:00:45.477: D/dalvikvm(344): GC_CONCURRENT freed 324K, 5% free 9960K/10375K, paused 2ms+3ms
08-30 13:00:45.567: D/NetworkService(344): Broadcast the fact user is authenticated
08-30 13:00:45.567: D/ReportActivity(344): user can press button
這發生在一個真正的Galaxy S2與ICS 4.0.4 – rds
你確定你的按鈕的資源是「android.R.id。」而不是「R.id」? – keyboardsurfer
@Keyboardsurfer Godd評論。但是,是的,當View很簡單並且它的角色是通用時,我通常會使用'android.R'資源。此外,該按鈕變灰,這意味着'setEnabled(false)'的作品 – rds