1

いくつかのスタック オーバーフロー トローリングを使用して、Android のポップアップ ビューを動作させることができましたが、レイアウトを移動しようとしましたが、現在は動作しません。res/layout-keysexposed-qwerty/login_popup2.xml にポップアップ ビューがあります。

そのレイアウトには次のものが含まれます。

android:id="@+id/login_popup2"

アクティビティ内で参照しようとする場所は次のとおりです。

LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
android.view.View popview = inflater.inflate(R.layout.login_popup2, null, false);

そして、それは次の例外で失敗します:

FATAL EXCEPTION: main
android.content.res.Resources$NotFoundException: Resource ID #0x7f030001
at android.content.res.Resources.getValue(Resources.java:892)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:1869)
at android.content.res.Resources.getLayout(Resources.java:731)
at android.view.LayoutInflater.inflate(LayoutInflater.java:318)

この方法でレイアウトを参照するにはどうすればよいですか? 入れたときは動いていると思っていたのですres/layout-keysexposed/が、移動してEclipseでクリーンプロジェクトを行い、Androidを停止して起動しました

(編集1)

R.java のクラス定義は次のとおりです。

public static final class layout {
    public static final int activity_view=0x7f030000;
    public static final int login_popup2=0x7f030001;
}
4

2 に答える 2

1

レイアウト ファイルの ID は、.xml 拡張子を含まないファイル名とディレクトリです。あなたのIDは、レイアウト内のいくつかの要素のIDです。LinearLayout または RelativeLayout と呼ばれる可能性があるという事実は無視してください。これらは両方ともビューです。

于 2013-03-03T19:12:43.120 に答える
0

R.javaを近づけると、レイアウトクラスにxmlファイルの名前が付いたレイアウトへの参照が含まれていることがわかります。したがって、R.layoutを使用する必要があります。

于 2013-03-03T19:34:17.247 に答える