1
我發現如何從另一個應用程序獲取資源。如何從另一個應用程序獲取資源?
我研究了很多關於此的帖子。
因此,提出以下來源。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Resources themeR = null;
try {
themeR = getThemeResources("com.example.testskin01", this);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
int resID = themeR.getIdentifier("activity_main2" , "layout", "com.example.testskin01");
View themeLayout = (View)themeR.getLayout(resID);
setContentView(themeLayout);
}
private static Resources getThemeResources(String themePackage, Context context) throws NameNotFoundException {
try {
return context.getPackageManager().getResourcesForApplication(themePackage);
} catch (Exception e) {
return null;
}
}
我安裝 「com.example.testskin01」 的PAKAGE到測試裝置。
與「activity_main2.xml」。
當調用「resID」時,沒有發生錯誤。
但下一行,從
"View themeLayout = (View)themeR.getLayout(resID);".
稱爲錯誤,這是錯誤消息。
"java.lang.ClassCastException: android.content.res.XmlBlock$Parser"
我該如何解決這個問題?請提出一些想法。