'da çalışmaz. OnCreate yönteminde yazdığım setOnclick Dinleyicisi çalışmaz. Hata, b1 düğmesi için boş bir işaretçi istisnası hatasıdır. Onclick yönteminden önce b1'i başlatmayı denedim ama işe yaramıyor. Bu kod için Android Studio Örneği "Takas Etkinliği" ni kullandım. Ardından, sekmeli bir etkinlikte onClickListener yöntemini kullanmanın bir yolunu arıyorum. Lütfen bana bazı çözümler söyle. TeşekküronClickListener, Sekmeli Etkinlik Android
public class MainActivity extends AppCompatActivity {
public static Button b1,b2;
private SectionsPagerAdapter mSectionsPagerAdapter;
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
// THIS DOESNT RUN AND IT MAKES THE APP CRASH
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
b1.setText("test");
}
});
}
public static class PlaceholderFragment extends Fragment {
private static final String ARG_SECTION_NUMBER = "section_number";
public PlaceholderFragment() {}
public static PlaceholderFragment newInstance(int sectionNumber) {
PlaceholderFragment fragment = new PlaceholderFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
public void newImageView(int sectionNumber, Button img, int n){
if(sectionNumber == n)
img.setVisibility(View.VISIBLE);
else
img.setVisibility(View.INVISIBLE);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
b1=(Button)rootView.findViewById(R.id.b1);
newImageView(getArguments().getInt(ARG_SECTION_NUMBER),b1,1);
b2=(Button) rootView.findViewById(R.id.b2);
newImageView(getArguments().getInt(ARG_SECTION_NUMBER),b2,2);
return rootView;
}
}
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return PlaceholderFragment.newInstance(position + 1);
}
@Override
public int getCount() {
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "SECTION 1";
case 1:
return "SECTION 2";
}
return null;
}
}
}`enter code here
[Null Pointer Exception nedir ve bunu nasıl düzeltebilirim?] 'In olası kopyası (http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how -do-i-fix-it) – Selvin
İlk 'genel statik Düğme b1, b2;' cidden? gerçekten kötü bir fikir .... şimdi ekleyin "Log.d (" - "," hemen hemen b1.setOnClickListener ");' ve 'Log.d (" - "," hemen sonra b1 = (Düğme) rootView "); '... şimdi ilk ne geliyor görmek için logcat günlüğünü izlemek – Selvin