2017-01-11 6 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でidのボタンを膨らませましたか? –

答えて

0

context.startActivity(YOUR_INTENT); 希望を呼び出すコードは正しいようだが、あなたの活動 方法buttona1をする必要があると両方を断片化する。あなたは断片に存在するが、活動

にあなたもこのラインを持つ

startActivity(browserIntent); 

を交換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; 

の内側に次のコードを使用することができないXMLからメソッドを呼び出すことはできません

getActivity().startActivity(browserIntent); 
0

あなたはfreagmentの初期化中に、あなたのMainActivityから渡されますあなたのfragment contsructorContextを初期化する必要があり、これはあなたを助ける

関連する問題