1

Rの別のXMLファイルでクラスレイアウトを行うにはどうすればよいですか?

resへの新しいリソースがあったので自動であるはずですが、そうではありません。誰かが私が間違ったことを知っていますか?

アクティビティを開きましたが、別の XML の例で動作する別のアクティビティを開きたいと考えています。menu と main.xml があります。次に、このメソッドを使用して、gamescreen という別のアクティビティに行きたいと思います。

newGameButton.setOnClickListener(new OnClickListener() {

            public void onClick(View view) {
                Intent i = = new Intent(this, gameScreen.class);
                startActivity(i);
            }

}

gameScreen.xml という XML に関連付ける必要がある gameScreen という別のアクティビティの別の「ページ」に移動したいと考えています。

しかし、その onCreate では:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.gameScreen);

}

gameScreen は R ファイルのメンバーではありません。

主な問題は、newxmlfile.xml などのレイアウトにリソースを追加すると、R ファイルが機能せず、この状態のままになることです。

public static final class layout {
    public static final int main=0x7f030000;
}where it should have been:
public static final class layout {
    public static final int main=0x7f030000;
    public static final int newxmlfile=0x7f031000;
}
4

5 に答える 5

0

Eclipseの場合:menu-project-clean-プロジェクトを選択します。

そうでない場合は、gameScreen.xmlがresレイアウトフォルダーの下にあることを確認してください。

于 2010-05-23T15:19:44.027 に答える
0

私は答えを見つけました。どういうわけかエクリプスは

 import Android.R;

これにより、R 変数があいまいになりました。

于 2010-05-24T11:52:27.883 に答える
0

ファイルがres/layoutフォルダーに存在し、おそらく別のパッケージにある場合は、への参照をインポートし、への参照をRすべて削除する必要がありますandroid.R

import com.mypkg.R;

gameScreenまた、クラスをアクティビティとしてマニフェスト ファイルに追加することも忘れないでください。

編集

ウィザードを使用して XML ファイルを再作成し、すべてが正常であることを確認する必要があります。SDK のインストール/samples/ディレクトリにあるいくつかのサンプルと比較してください。

于 2010-05-23T11:35:03.377 に答える
0

新しいアクティビティを AndroidManifest.xml に追加する必要があります。

...
<activity 
    android:name=".gameScreen">
</activity>

編集:
これは、gameScreen が新しいアクティビティのクラス名であると想定しています。また、私が理解していることから、g​​ameScreen は res/layout にある XML ファイルです。
のファイル名はgameScreen.xml小文字にする必要があります: gamescreen.xml.

于 2010-05-23T11:36:34.170 に答える
0

aapt (exe は platform/<platform>/tools/aapt にあります) コマンドを使用して R ファイルを生成します。

aapt package -f -M ${manifest.file} -F ${packaged.resource.file} -I ${path.to.android-jar.library} -S ${android-resource-directory} [-m - J ${folder.to.output.the.R.java}]

新しい R.java ファイルが生成されます。エラーがある場合は、それも表示されます。

于 2010-05-23T14:48:23.003 に答える