1

ここ数時間、ロード時にエラー メッセージが表示されずにアプリケーションがクラッシュする原因を突き止めました。

基本的に、USB またはエミュレーターで実行すると、画面は 0.5 秒ごとに更新されます。ログを見るとonCreateをループで実行しているようです。理由がわかりません!最終的に、「チャンネルは回復不能なほど破損しているため、破棄されます」というメッセージが大量に表示されます。このメッセージも頻繁に表示されます。

07-15 13:59:22.334: エラー/AbstractCompatWrapper(381): AbstructCompatWrapper への無効な入力 07-15 13:59:22.334: エラー/CompatUtils(381): 呼び出し中の例外: NullPointerException

必要に応じて完全なログを投稿できますが、有用なものは見つかりませんでした。

最後に、アクション バーをインスタンス化するメソッドである「fillActionBar」の呼び出しを削除すると、問題が「修正」されることがわかりました。ただし、アクションバーは使えるようにしたい!私は何を間違えましたか?

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    resultBox = (TextView) findViewById(R.id.readout_values);

    // commenting out the following line fixes the problem, 
    // but removes the action bar.
    this.actionBar = fillActionBar(); 

    try {
        specialHttpClient = new SpecialHttpClient(
                "username", "password");
    } catch (Exception e) {
        Dbg.loge(this.getClass().getName(), "Could not instantiate client", e);
    }
}

private ActionBar fillActionBar() {
    ActionBar bar = getActionBar();// getSupportActionBar();
    ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(
            this,
            android.R.layout.simple_spinner_dropdown_item,
            //R.layout.sherlock_spinner_item,
            pages
    );
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
    ActionBar.OnNavigationListener navListener = new ActionBar.OnNavigationListener() {
        @Override
        public boolean onNavigationItemSelected(int itemPosition, long itemId) {
            Intent i = null;
            switch(itemPosition) {
                case 0:
                    i = new Intent(context, RecorderActivity.class);
                    break;
                case 1:
                    i = new Intent(context, TrackerActivity.class);
                    break;
            }
            startActivity(i);
            return true;
        }
    };
    bar.setListNavigationCallbacks(spinnerAdapter, navListener);
    return bar;
}

**編集**

問題は、ボタンが押されていない場合でも startActivity(i) が呼び出されているようです。その呼び出しを 2 番目のメニュー項目に移動しても問題は解決しないようですが、なぜこのようなことが起こっているのでしょうか?

4

1 に答える 1