2 water5blue water5blue 于 2014.11.17 16:29 提问

ANDROID Fragment中动态创建ImageView

在一个ACTIVITY (CXmain) 中包含N个Fragment.现在在其中一个Fragment中需要动态创建imageview 但是运行时却出错.
目的是在在Fragment中创建一个可以滑动显示图片的功能 利用ScrollView来实现.下面是代码:

public class CtFragment extends Fragment  implements OnClickListener {
......................
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    ...................
    layout = (LinearLayout) getActivity().findViewById(R.id.layout);

    for(int i = 0; i < 8; i++)
    {
        //  通过资源文件来获得指定一个Drawable对象
        Drawable drawable = getResources().getDrawable(R.drawable.fmj);
        ImageView imageView = new ImageView(getActivity());
        imageView.setImageDrawable(drawable);
        layout.addView(imageView);
    }

是不是getActivity() 这样用不正确......

3个回答

save4me
save4me   Ds   Rxr 2014.12.18 10:34

上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!

save4me
save4me   Ds   Rxr 2014.11.19 00:19

ImageView imageView = new ImageView(getActivity());这样的用法应该可以。
滑动显示图片参考一下 Fragment兼容手机与平板实现3D画廊和下拉列表(附源码)

HuangShaoWenWuBin
HuangShaoWenWuBin   2014.12.04 09:20

getActivity()确实不能这样用。

正确用法应该是:

//绑定Fragment的布局文件
 fragmentLayout = inflater.inflate(R.layout.fragment_layout, container,false);
 layout = (LinearLayout) fragmentLayout.findViewById(R.id.layout);
Csdn user default icon
上传中...
上传图片
插入图片