Android View Nullpointer(课堂上的自定义功能)

时间:2014-09-28 23:49:20

标签: android view nullpointerexception

所以我试图在一个膨胀XML的类中创建一个函数。该函数背后的想法是随机化UI的某些方面,每次点击随机图像时,它再次扰乱它(因此它在onClickListener中设置图像后调用自身。)

无论如何,我遇到的一个大问题是我对Android编程比较陌生,我正在尝试使用getView()而不是一个可靠的View。我得到一个空值。我希望这只是一个快速解决我不知道更好。

public class Practice extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.practice_write, container, false);

    function();

    return view;
}

public void function(){

    final ImageView table1Row2Col1 = (ImageView) getView()
            .findViewById(R.id.table1Row2Col1);
    table1Row2Col1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            function();
        }
    });

这显然只是一个简短的示例,但我得到的错误是我使用getView()的行的nullpointer异常。如果有人可以帮助我,我真的很感激。

1 个答案:

答案 0 :(得分:0)

getView()方法将在onCreateView循环中返回null。尝试使用膨胀视图中的findViewById方法而不是getView()方法。

public class Practice extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.practice_write, container, false);

    function(view);

    return view;
}

public void function(View view){

    final ImageView table1Row2Col1 = (ImageView) view
            .findViewById(R.id.table1Row2Col1);
    table1Row2Col1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            function();
        }
    });