所以我试图在一个膨胀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异常。如果有人可以帮助我,我真的很感激。
答案 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();
}
});