2017-01-11 12 views
0

Мне удалось сделать ящик для навигации и попытаться заставить кнопку работать сейчас.Кнопка ссылка на интернет делает крушение приложения

Код:

public class FourthFragment extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, 
          ViewGroup container, 
          Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.fourth_layout, container, false); 
    } 
    public void buttona1(View view){ 
     Intent browserIntent = new Intent(Intent.ACTION_VIEW, 
              Uri.parse("https://www.google.nl")); 
     startActivity(browserIntent); 
    } 
} 

Планировка:

<Button 
    android:text="Magister" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:onClick="buttona1" 
    android:id="@+id/button2" 
    android:visibility="visible" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" /> 

Проблема заключается в том, что, когда я открываю приложение в мой мобильный и перейти на страницу с кнопкой, нажмите кнопку приложение будет закрыть и остановить за работой.

+0

Что говорит журнал? – hiergiltdiestfu

+0

Добавили ли вы разрешение на использование Интернета? –

+0

Вы надули кнопку с идентификатором в oncreateview? –

ответ

0

ваш код кажется правильным, но вам нужно сделать метод buttona1 в вашей деятельности и фрагмент обоих. Вы не можете вызвать метод из XML заключается в фрагменте, но не в деятельности

вы можете использовать следующий код внутри метода onCreateView

View v=inflater.inflate(R.layout.fourth_layout, container, false); 
    Button myButton=(Button)v.findViewById(R.id.button2); 
    myButton.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
    buttona1(view) 
    }); 
return v; 

также заменить эту строку

startActivity(browserIntent); 

с

getActivity().startActivity(browserIntent); 
0

Вы должны инициализировать в вашем fragment contsructorContext, который будет передаваться от вашего MainActivity при инициализации freagment и называют context.startActivity(YOUR_INTENT); надеюсь, что это поможет вам

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

  • Нет связанных вопросов^_^