这是一个活动的java类,我试图做的是在点击一个按钮时生成一个toast但是我得到了上面的错误。我尝试添加一个封闭的括号,但它引发了同样的错误。
public class btntoast extends Fragment
{
Button btn_order;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
// TODO Auto-generated method stub
return inflater.inflate(R.layout.activity_in_room_dining, container, false);
btn_order.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Toast.makeText(getActivity(), "text", Toast.LENGTH_SHORT).show();
}
}
}
}
更新代码:
public class in_room_dining extends Fragment
{
Button btn_order;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{ // TODO自动生成的方法存根
btn_order.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Toast.makeText(getActivity(), "text", Toast.LENGTH_SHORT).show();
}
});
return inflater.inflate(R.layout.activity_in_room_dining, container, false);
}
}
抛出的错误是:
11-29 09:38:22.098 1138-1138/com.appt.shreyabisht.staymax W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xb1ab9ba8)
11-29 09:38:22.138 1138-1138/com.appt.shreyabisht.staymax E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.appt.shreyabisht.staymax, PID: 1138
java.lang.NullPointerException
at com.appt.shreyabisht.staymax.in_room_dining.onCreateView(in_room_dining.java:23)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1504)
注意:(in_room_dining.java:23)是btn_order.setOnClickListener(new OnClickListener()
答案 0 :(得分:1)
你错过了#34;)" setOnClickListener
btn_order.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Toast.makeText(getActivity(), "text", Toast.LENGTH_SHORT).show();
}
});
return inflater.inflate(R.layout.activity_in_room_dining, container, false);
由于return语句,也是无法访问的代码
把它放在onCreateView
;
答案 1 :(得分:1)
试试这个
btn_order.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Toast.makeText(getActivity(), "text", Toast.LENGTH_SHORT).show();
}
}
});
答案 2 :(得分:0)
在定义OnClickListener之后添加);
就像这样简单:
btn_order.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "text", Toast.LENGTH_SHORT).show();
}
});
答案 3 :(得分:0)
尝试这样:
public class btntoast extends Fragment
{
Button btn_order;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.hello_world, container, false);
btn_order =(Button) v.findViewById(R.id.text);
btn_order.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Toast.makeText(getActivity(), "text", Toast.LENGTH_SHORT).show();
}
});
return v;
}
}