0

Android プロジェクトに新しいアクティビティ (.java および .XML ファイル) を追加すると、機能していた R.id 値の一部が失われ、アプリで NullPointerException がスローされますが、16 進値を使用すると再び機能します。

R.java: public static final int editTextTotal=0x7f040064;

findViewById(R.id.editTextTotal); //Throws nullpointerex after I add a new activity.

findViewById(0x7f040067) //Works

Eclipse に飽きてしまったので、コマンドだけで作業しています。ファイルを追加し、マニフェストを変更し、「ant debug」コマンドを実行して新しいアクティビティを追加する以外に、他にすべきことはありますか?

4

3 に答える 3

0

ADT に問題があります。最新バージョンに更新してみてください。

問題が解決しない場合は、新しい xml を追加するたびにプロジェクトをクリーンアップしてみてください。

于 2013-07-11T05:48:51.367 に答える
0

Eclipseでこれを修正した方法は次のとおりです。

genフォルダーに手動で作成R.javaして保存します。その後、プロジェクトに移動し、[クリーン] をクリックします。次のメッセージが表示され、ファイルが自動的に書き換えられます。

R.java は手動で変更されました。生成されたバージョンに戻します!

これは代替アプローチです

R は、リソースを識別するために使用される定数を保持する、自動生成されたクラスです。ファイルがない場合R.java(1.5 SDK を使用した Eclipse では gen/com.techfuze.app_name/R.java になります)、プロジェクトを閉じて再度開くか、[プロジェクト] > [すべてビルド] に移動することをお勧めします(そして、>Josefが推奨するように、そこにある間は「自動的にビルド」してください)。それでも問題が解決しない場合は、新しいプロジェクトを作成してみてください。問題が再現される場合は、>ここに再度投稿してください。詳細を説明します。

しかし、最初の問題を引き起こした別の問題があることがわかりました。SDK ディレクトリ内のツールには実行権限がなかったため、Eclipse には存在しなかったようで、R.javaファイルをビルドしませんでした。

そのため、権限を変更して「自動的にビルド」を選択すると問題が解決しました。

于 2013-07-11T05:51:13.080 に答える