从片段中获取资源

时间:2013-07-20 15:47:22

标签: android imagebutton

我正在尝试在片段中更改android中的ImageButton源。

我想使用方法Image.setImageResource(),但是我不能在片段中使用getResources()。这有什么方法吗? getActivity()。getResources()不会丢失任何结果。

我尝试过写一个字符串,例如“R.drawable”。 + {不同的图像名称},但我无法将该字符串转换为int。

如何做到这一点?

我只是想根据不同的事情改变一些带有源文件的imageButtons。

3 个答案:

答案 0 :(得分:7)

我让这个片段工作:

int imageresource = getResources().getIdentifier("@drawable/your_image", "drawable", getActivity().getPackageName());        
    image.setImageResource(imageresource);

答案 1 :(得分:1)

R.drawable.imagename是一个int。 setImageResource()采用int:

imageButton.setImageResource(R.drawable.imagename)

另外,奇怪getActivity().getResources()什么都不返回。如果您的Fragment附加到Activity,则应该返回一个Resources对象。

答案 2 :(得分:0)

我们可以在onCreateView(...)方法中使用资源:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
                         Bundle savedInstanceState) {
     View rootView = inflater.inflate(R.layout.layout_name, container, false);
     int sizeView = rootView.getResources().getDimension(R.dimen.size_view));
     return view;
}