2017-01-16 2 views
0

クリックイベントが発生したボタンを作成してウェブページへのリンクを開きました。このレイアウトには複数のボタンがあります。今度は最初のボタンのイベントを複製して他のボタンにも使用したいと思っています。しかし、私はコードを複製し、他のボタンに名前を置き換えると、私はいくつかのエラーが発生します。何が問題ですか?;クリックイベントを複製しようとしています

public class FourthFragment extends Fragment { 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fourth_layout, container, false); 
    final Button button2 = (Button) view.findViewById(R.id.button2); 
    button2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://maurick.magister.net")); 
      startActivity(browserIntent); 
     } 

    }); 
    return view; 

    final Button button3 = (Button) view.findViewById(R.id.button3); 
//a red line is showing line above 
    button3.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://maurickcollege.net")); 
      startActivity(browserIntent); 
     } 

    }); 
    return view; 

} 
} 
+0

はこのアンドロイドあぁじゃないん

用 – Frogger

答えて

0

2つのreturn view文。 これはコードを無駄にしています。これはエラーです

2

最初のreturn viewステートメントは、この時点でメソッドを返すようにします。 このステートメントの下のコードは実行されません。エラーメッセージUnreachable statementが表示されます。あなたの2つのリスナーへ

: 1人のだけリスナーを作成し、両方のビューに設定します。

View.OnClickListener listener = new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://maurickcollege.net")); 
     startActivity(browserIntent); 
    } 
} 
view.findViewById(R.id.button2).setOnClickListener(listener); 
view.findViewById(R.id.button3).setOnClickListener(listener); 
0

よりもむしろ新しいOnClickListenerを使用して、 一つの共通のメソッドを作成します。これは、あなたのクラスで をView.OnClickListenerを実装すべてのクリックイベントのように...

@Override 
public void onClick(View v) { 
    switch (v.getId()){ 
     case R.id.button_1: 
     case R.id.button_2: 
      //your common action goes here which will be executed for both buttons 
    } 
} 
関連する問題