0

私は単にxmlファイル/レイアウトを変更しようとしています。

私の主な活動では、startActivityForResult(new Intent(this,playlist.class), 0);

クラスをマニフェストに追加し、パッケージが com.site.mainactivity で、スーパークラスが android.app.Activity であるクラスを作成しました。

主なアクティビティで「プレイリストを拡張」しませんでした

私のlogcatは、「非アクティブなInputConnectionのshowStatusIcon」、「InputConnection = android.view.imputmethod.BaseInputConnection@40532b90、アクティブなクライアント= false」のみを表示します

新しいアクティビティ/スイッチ レイアウトを開始しようとすると、ホーム画面が表示されますが、アプリがまだバックグラウンドで実行されています。それに戻ると、アプリはメイン画面に戻ります。

私は何を間違っていますか?

ありがとう

4

3 に答える 3

0

このハードルを回避するために私がしたことは、単にgetLayoutInflater().inflate(R.layout.main, null);ビューとして使用してからsetContentView(v)

ビューを変更する前と同じようにプログラムが実行されるように、イベントやビューなどを再初期化する必要があります。

于 2012-05-15T16:46:35.210 に答える
0

レイアウトを変更したいだけの場合は、次のいずれかを実行できます。

  1. setContentViewを再度呼び出す
  2. singleTopを使用して、同じアクティビティを異なるレイアウトで起動します
  3. 2番目のアクティビティを起動した後、finish()で最初のアクティビティを閉じます
于 2012-05-15T01:04:10.767 に答える
0

これは、Activity スタックの維持方法に問題があるように思えます。具体的には、マニフェスト プロパティに基づいて、マニフェストによるアクティビティの処理方法を指定するさまざまなプロパティをアクティビティが持つことができるためです。アクティビティ スタックに含まれているかどうか、および/またはこれには、アプリケーションのメイン エントランスがどこにあるか、および外部インテントがアプリケーションの特定の画面に移動できるかどうかが含まれる場合があります。

これを操作すると、簡単に制御できます。ActivityManager を調べて、タスクがどのように取得および維持されるかを調べ、アプリケーションの設計フローを分析します。問題を完全に解決するには、どのように機能させたいかを完全に理解する必要があります。フローチャートは、この診断に役立ちます。

流れを適切にコントロールする方法を学びましょう。

于 2012-05-15T00:29:20.020 に答える