2013-11-23 2 views
0

Мой фрагмент всегда сбой при открытии. Я думаю, что проблема вызвана кнопкой 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

Вы можете вставить журналы здесь –

+0

Post стек вызовов от аварии – Darkhogg

ответ

1

Вместо этого линия

ImageButton bt_callhos = (ImageButton) getView().findViewById(R.id.callhos); 

Используйте этот

ImageButton bt_callhos = (ImageButton) view.findViewById(R.id.callhos); 
+0

Это работал, теперь я могу запустить эту активность, но когда я нажимаю кнопку, приложение падает. – user3025060

+0

Это сработало, просто не было разрешения. – user3025060

Смежные вопросы