я использую макет вкладок, соответствующий этому руководству:
руководство по макету вкладок androidhive
Он отлично работает, но когда я добавляю кнопку в fragment_one.xml, я не могу использовать setOnClickListener для этой кнопки, потому что findViewById не работает в MainActivity.java
следующий код MainActivity:
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
setupViewPager(viewPager);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action",Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
});
}
приложение остановилось с этой ошибкой: java.lang.NullPointerException: попытка вызвать виртуальный метод «void android.widget.Button.setOnClickListener» для нулевой ссылки на объект
Где должна быть определена кнопка и установлена ли она OnClickListener?