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
4

1 に答える 1

0

解決策は、メソッドfindViewById(android.R.id.button1)によって初期化されたフィールドに結果を格納することです。onResume()

于 2012-08-31T00:39:03.980 に答える