0

アクティビティ名と対応する XML ファイルを返す 1 つの関数を作成しようとしています。
(XML は で設定setContentView(R.layout.abc))。アプリケーションに 5 つのアクティビティと 5 つの XML ファイルがあるとします。どのアクティビティがどの XML ファイルを使用しているかを調べるにはどうすればよいですか? アクティビティのコード内に入ることなく、「アクティビティ」に対応する「XML名」を見つける方法はありますか。このような出力が欲しいのですが、

  1. Main_Activity には activity_main.XML があります

  2. abc_Activity持ってるxyz.XML

  3. pqr_Activity持ってるefg.XML
4

1 に答える 1

0

あなたの質問には2つのことがあります:-

  1. アプリケーションによって公開されているすべてのアクティビティのリストを取得します。これは次のように実行できます。-

    private void getActivityList() throws NameNotFoundException {
            Intent i = new Intent(Intent.ACTION_MAIN);
            i.addCategory(Intent.CATEGORY_LAUNCHER);
            PackageManager pm = this.getPackageManager();
            PackageInfo info = pm.getPackageInfo("com.packagename",
                            PackageManager.GET_ACTIVITIES);
            ApplicationInfo test = info.applicationInfo;
            ActivityInfo[] list = info.activities;
    }
    
  2. それらに関連付けられたXML(レイアウト)を取得します。これは不可能だと思います。

于 2013-02-09T07:15:44.480 に答える