2017-01-16 3 views
0

Только что сделал кнопку с событием клика, которое открывает ссылку на веб-страницу, на этом макете есть несколько кнопок. Теперь я хочу дублировать событие первой кнопки, чтобы использовать ее для других. Но когда я дублирую код и заменяю имена на другую кнопку, я получаю некоторые ошибки. В чем проблема?;Пытаться дублировать Click Event

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

Два сообщения return view. Это делает код ниже бесполезным. То есть ошибка

2

Ваши первые return view заявления заставляют метод вернуться в этот момент. Итак, ваш код ниже этого оператора не будет выполнен. Ваш идеал должен показать вам сообщение об ошибке Unreachable statement.

Для двух ваших слушателей: создать только один слушатель и установить его в обоих видах:

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, Implement 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 
    } 
}