我尝试使用我的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));
非常感谢,
答案 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;