从cordova插件访问自定义布局资源

时间:2014-12-22 01:31:20

标签: android cordova android-linearlayout phonegap-plugins

我尝试使用我的cordova插件中的LayoutInflater来替换toast布局(向其添加图像)问题是R.layout.custom_toast(获取custom_toast.xml文件)给出错误"错误:找不到符号"并没有工作。我应该在插件文件夹结构中将我的custom_toast.xml文件从我的插件java代码中访问它?让这个工作有什么魔力?为什么R不起作用?

View layout = inflater.inflate(R.layout.custom_toast,(ViewGroup)findViewById(R.id.toast_layout));
非常感谢,

1 个答案:

答案 0 :(得分:3)

由于插件不是Activity(不扩展活动),因此无法直接使用R.你能做的不是做

R.layout.name_of_file

这样做:

Application app=cordova.getActivity().getApplication();
String package_name = app.getPackageName();
Resources resources = app.getResources();
int ic = resources.getIdentifier("name_of_file", "layout", package_name);

因此,int ic将具有存储在R上的“文件名”的正确指标。因此,不使用R.layout.name_of_file,而是使用ic。

您还必须导入这些包装:

import android.app.Application;
import android.content.res.Resources;