sendUserActionEvent()がnullです


90

ここには本当の危険があります。スピナーをクリックしたり、メニュー項目を開いたり、ロングクリックでコンテキストメニューを開いたりすると、同じLogcatメッセージが表示されます。

08-02 21:20:57.264: E/ViewRootImpl(31835): sendUserActionEvent() mView == null

タグはViewRootImpl、メッセージはsendUserActionEvent() mView == nullです。Webでこれについて役立つ情報を見つけることができませんでした。Androidソースを検索したところ、への参照がいくつか見つかりましたがmView、このログメッセージが出力されているファイルが見つかりませんでした。参考までに、4.2.2を実行しているSamsung Galaxy S4、またはAPI 17を使用しています。Android4.3を実行しているNexus 7でデバッグする場合、同じメッセージは表示されません。何か案は?これはSamsung固有の問題ですか?



同じ問題のために私の答えをチェックし、それはあなたのコードを修正するかもしれませんstackoverflow.com/questions/23016155/...
AJ

回答:


93

同じことをS4でも行いました。私はGalaxy Grand、HTC、Sony Experiaでアプリをテストしましたが、s4でのみ取得しました。アプリとは関係がないため、無視してかまいません。


それについてもっと情報がありますか、それが起こる理由を知っていますか?
crocboy 2013

2
Wi-Fiがオンのときにインターネットに接続していますか?インターネットに接続されていない場合に表示されます。
アプリの作業

34
WIFI /接続理論は間違っています。どちらも私のために働いていますが、私はまだこのエラーが発生します(S4)
ラドリー2013

2
上記のLogcatメッセージの前に、「入力イベントを終了しようとしましたが、入力イベントレシーバーはすでに
破棄

1
このエラーは、デバイス上のAndroidの新しいバージョンに関連していると思います。バージョン5.0のノート3にこの問題がありますが、4.4.2バージョンのノート3には問題がありません。+これは関連していると思いますこれは、ポップアップダイアログが表示されてBluetoothパスワードを入力する必要があるときに発生したためです。
Chris Sim、

5

Galaxy S4電話でこの問題を解決するには、context.startActivity(addAccountIntent);を置き換えます。withstartActivity(new Intent(Settings.ACTION_ADD_ACCOUNT));


3
正しい。これが、私にとって同じAPIで同じ問題を本当に解決した理由です。必要なコンテキストにすでにいる場合は、context.startActivity()を呼び出す必要はありません。startActivity()を呼び出すだけで十分ですが、そのエラーの結果は得られません。みんなありがとう。
Shad

これに役立つサンプルコードを提供していただけますか?ありがとうございました。
ブランドン

1
Intent addAccountIntent = new Intent(Settings.ACTION_ADD_ACCOUNT); addAccountIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); addAccountIntent.putExtra(Settings.EXTRA_AUTHORITIES、new String [] {"com.app.yourapp"}); startActivity(addAccountIntent);
ドロイド-Zillaを

1
@AmitSinhaあなたの活動/フラグメント。別のアクティビティを起動するコード内の部分。
ネオンWarge

0

Galaxy TabとXperia Sで同じ問題が発生し、アンインストールして再度インストールすると、表示されなくなるようです。

この問題が突然発生するように見えるコードは次のとおりです。

public void unlockMainActivity() {
    SharedPreferences prefs = getSharedPreferences("CALCULATOR_PREFS", 0);
    boolean hasCode = prefs.getBoolean("HAS_CODE", false);
    Context context = this.getApplicationContext();
    Intent intent = null;

    if (!hasCode) {
        intent = new Intent(context, WellcomeActivity.class);
    } else {
        intent = new Intent(context, CalculatingActivity.class);
    }
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    (context).startActivity(intent);
}

0

Cursorに関連するコードに変更を加えた後でも、同様の問題に直面します。

public boolean onContextItemSelected(MenuItem item) 
{
        AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo();
        Cursor c = (Cursor)adapter.getItem(info.position);
        long id = c.getLong(...);
        String tempCity = c.getString(...);
            //c.close();
...
}

コメントアウトした後//c.close(); 正常に動作しています。最後に試してみて、初期設定は次のように更新してください... Fragmentにリストビューがあり、contextMenuを介してリストからアイテムを削除しようとしています。


0

これは、2つの異なるアクティビティに同じIDのボタンが2つあることと関係しており、Android Studioが見つけられない場合があります。ボタンに新しいIDを指定して、プロジェクトを再ビルドするだけです。


0

これはすべてのSamsungデバイスのエラーです。解決策は、この行をマニフェストのアクティビティ宣言に追加します。

android:configChanges="orientation|screenSize"

また、アクティビティを開始するときに、これを行う必要があります。

Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
intent.setType(Settings.ACTION_SYNC_SETTINGS);
CurrentActivity.this.startActivity(intent);
finish();

これを使用してアクティビティをフルスクリーンモードとして作成しましたが、この質問ではフルスクリーンコードは必要ありませんが、すべての場合に誰かがそれを必要とする可能性があるため、残りのコードについてはこの質問を参照できます。

VideoViewを全画面表示にする方法

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.