2013-11-21 10 views
9

私はAbstractAccountAuthenticatorを使用しています。私は自分のアプリをシングルアカウントにしたいと思います。ユーザーがこのアプリの新しいアカウントを追加することを選択したときに、私はメッセージを要求します。私は他のアプリがメッセージのためにトーストを使うのを見たが、何らかの理由で私が表示されない。アカウント設定でアンドロイドのsdkプロンプトトーストメッセージ

public Bundle addAccount() { 
    if (accounts.size() > 0) { 
     Toast.makeText(context, R.string.MSG_ONLY_ONE_ACCOUNT_IS_SUPPORTED, Toast.LENGTH_LONG).show(); 
     return null; 
    } 
} 

任意のアイデア理由:

は、私はこのようなメッセージが表示されますか?私は、AbstractAccountAuthenticatorからaddAccount()メソッドのアカウント番号をチェックしています。

+0

あなたは 'のaddAccountは()'と呼ばれ、 ''実際> '0' accounts.size()であるとされていることを確認していますか? – Kirk

+0

はい、表示されていないメッセージ以外はすべてokです。 – Alex

答えて

11

私は同じことを考えています。以下の答えが私を助けてくれました:12

あなたのコードの例を使用する:

private final Handler handler = new Handler(); 

public Bundle addAccount(...) { 
    if (accounts.size() > 0) { 
     final Bundle bundle = new Bundle(); 
     final String message = 
        mContext.getString(R.string.MSG_ONLY_ONE_ACCOUNT_IS_SUPPORTED); 
     bundle.putInt(AccountManager.KEY_ERROR_CODE, 1); 
     bundle.putString(AccountManager.KEY_ERROR_MESSAGE, message); 

     handler.post(new Runnable() { 
      @Override 
      public void run() { 
       Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); 
      } 
     }); 

     return bundle; 
    } 
} 
+2

ハンドラがaddAccountメソッドの外で定義されていることを確認してください。そうしないと、エラーが発生します。すべての人にちょうどFYI。 – pkramaric

+0

この記事をありがとうございました。私の日を救った。 – Henrik

関連する問題