2012-03-28 7 views
0

私のアプリケーションには非常に奇妙な問題があります。 add_new_itemという名前のレイアウトファイルを追加しましたが、例外があります。 私はこのxmlファイルをどのアクティビティのコンテンツとしても設定していませんでした。そして、例外は触れられていないライブラリ関数に入っていました。だから、根本的な原因を見つけようとしている間、私はちょうど "data_entry_form"のような名前にファイルの名前を変更しようとしましたが、例外はなくなりました!リソース変数名に対するアンドロイドの依存性

その後、私は奇妙な同様のissuseに直面しています。私は、イメージ名 "add_new_itm"のボタンを持っています。私はこのボタンの一つである4つのボタンを持つレイアウトを持っています。このレイアウトを設定した後、別のアクティビティに移動するには、携帯電話の向きを変えて4つのボタンを使ってこのアクティビティに戻り、もう一度ボタンを押すと、レイアウトとして「add_new_item」イメージがバックグラウンドとして表示されます。 4つのボタンでレイアウトする(4番目はadd_new_item) - >ボタンを押す1新しい画面に進む - 電話を回転させる - > 4ボタンでレイアウトに戻る - >ボタン1をもう一度押す - >背景占有として画面にadd_new_item画像が表示される完全な画面。

今、画像、ボタンなどの名前を変更してみましたが、すべて正常に動作します。

レイアウトファイル、レイアウトファイルの名前とライブラリのレイアウトが含まれているあなたのプロジェクトのためのライブラリを使用している場合ということは、必要があるので、あなたがこれらのことは、おそらく起こるこの奇妙な行動に

答えて

1

を説明していただけます重複しない。コンパイラは、あなたとライブラリの両方のレイアウト用に1つのR.javaファイルを生成します。ファイルが同じ名前であれば、それを実行することはできません。お役に立てれば。

+0

ありがとうございました。私はすでにこの点を確認していましたが、衝突はありません。しかし、私は2つのR.javaファイルが生成されていることがわかります。両方ともgenフォルダにありますが、異なるパスの下にあります。しかし私のすべてのファイルでは、私は自分のプロジェクトに固有のものを選んでいます。私は、新しい変数がすべて両方のR.javaファイルに追加されているのを見ています。この動作は正しく行われますか – png

+0

もっと興味深い情報が見つかりました。私の前のコメントで言及したように、私のプロジェクトには2つのR.javaがあり、そのうちの1つは図書館プロジェクトです。私は新しいリソース変数を追加すると、両方のR.javaファイルで更新されているのを観察します。プロジェクトR.javaには名前が "capture"のレイアウト識別子があり、私のアプリケーションからは、レイアウトをキャプチャとして設定するこのアクティビティを開始しています。私は、プロジェクトライブラリにキャプチャ識別子が0x7f030001と言う別のRjjavaファイルがあることがわかります。 – png

+0

これで、a/bを起動してレイアウトを定義すると、プロジェクトのR.javaでのキャプチャのIDが変更されます。このシナリオでは、この予期しない動作が発生しています。なぜ私のプロジェクトは2つのR.javaファイルを作成するのですか?2.この依存関係がどのようになっているのですか。 – png

関連する問題