ViewPager'ım içindeki düzenlerimden birinde bir düğme var. "R.layout.add_site". Düğmeye basma seçeneğini tercih ediyorum ve benim için belirli bir sayfaya ilerliyorum. Belirli bir sayfaya geçmek için zaten seçeneğim var, ama ikisine de sahip olmak istiyorum.ViewPager düğmesindeki özel sayfaya kaydır
Şimdi eminim bunu yapmanın bir yolu var, ama bir nedenden dolayı, bunu anlayamıyorum.
Denemeye çalıştığımı göreceksiniz, ancak istenen sayfaya kaydırmak için hangi yöntemi çağırmanız gerektiğini bilmiyorum. Hangisi R.layout.main.
İşte kodum.
public class fieldsActivity extends Activity {
Button addSiteButton;
Button cancelButton;
Button signInButton;
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// to create a custom title bar for activity window
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.fields);
// use custom layout title bar
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.topbar);
Pager adapter = new Pager();
ViewPager mPager = (ViewPager) findViewById(R.id.fieldspager);
mPager.setAdapter(adapter);
mPager.setCurrentItem(1);
addSiteButton = (Button) findViewById(R.id.addSiteButton);
addSiteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Don't know what method to call!?
}
});
cancelButton = (Button) findViewById(R.id.cancel_button);
signInButton = (Button) findViewById(R.id.sign_in_button);
}
private class Pager extends PagerAdapter {
public int getCount() {
return 3;
}
@Override
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.field01;
break;
case 1:
resId = R.layout.add_site;
break;
case 2:
resId = R.layout.main;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
}
}
Herhangi bir yardım için teşekkür ederiz!
Denedim ama olsun "Varialbe 'mPager' iç sınıf içinde erişilir nihai ilan edilmesi gerekiyor.". – PhDeOliveira
OnClick aramamın yanlış yerde olduğunu anlıyorum. Onu nereye koymalıyım? – PhDeOliveira
mPager, son –