无法对非静态方法问题进行静态引用

时间:2013-06-12 13:23:20

标签: android

我正在通过以下示例编写我的第一个viewpager程序:http://www.edumobile.org/android/android-beginner-tutorials/view-pager-example-in-android-development/

该示例使用两个片段:detailsfragment,其中包含textview和包含imageview的图像片段。以下是图像片段的代码:

public class ImageFragment extends Fragment {
private final int imageResourceId ;

public ImageFragment (int imageResourceId)
{
    this.imageResourceId = imageResourceId;
}
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    Log.e("Test","Hello");
}
public void onActivityCreated(Bundle savedInstanceState)
{
    super.onActivityCreated(savedInstanceState);

}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle   

    savedInstanceState)
{
    View view = inflater.inflate(R.layout.image_layout, container,false);
    ImageView imageView = (ImageView)view.findViewById(R.id.imageView1);
    **ImageView.setImageResource(imageResourceId);**

    return view;
}

}

我无法从类型imageview(粗体问题语句)中对非静态函数setImageResource(int)进行静态引用。如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

更改

ImageView.setImageResource(imageResourceId);

imageView.setImageResource(imageResourceId);

实际上,您尝试直接从setImageResource类调用方法ImageView,但由于此方法不是静态的,因此无法从那里调用它。我想你只是错误输入了变量名。