我的片段在打开时总是崩溃。 我认为问题是由onClickListener按钮引起的。 如果设备有电话,该片段应该拨打电话,如果没有,则显示警告对话框。
这是代码:
public class HosFrag extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.hosfrag,
container, false);
ImageButton bt_callhos = (ImageButton) getView().findViewById(R.id.callhos);
bt_callhos.setOnClickListener(new View.OnClickListener()
{
boolean hasTelephony = getActivity().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
public void onClick(View v)
{
if (hasTelephony == true) {
String url = "tel:25633061";
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(url));
startActivity(intent);
}
else {
new AlertDialog.Builder(getActivity())
.setTitle("لا يوجد هاتف")
.setIcon(R.drawable.alerticon)
.setMessage("الجهاز لا يملك هاتف")
.setNeutralButton("عودة",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) { }
})
.show();
}
}
});
return view;
}
}
答案 0 :(得分:1)
而不是这一行
ImageButton bt_callhos = (ImageButton) getView().findViewById(R.id.callhos);
使用此
ImageButton bt_callhos = (ImageButton) view.findViewById(R.id.callhos);