Android 我能';t设置起始位置寻呼机
我想设置我的寻呼机的起始位置。当我使用Asynctask读取适配器的ArrayList时,我无法设置适配器的开始位置。我得到了第一页。 当我不使用asynctask读取ArrayList时,代码运行良好,并且开始位置设置正确。 谢谢你的帮助 PagePractivity.javaAndroid 我能';t设置起始位置寻呼机,android,android-viewpager,Android,Android Viewpager,我想设置我的寻呼机的起始位置。当我使用Asynctask读取适配器的ArrayList时,我无法设置适配器的开始位置。我得到了第一页。 当我不使用asynctask读取ArrayList时,代码运行良好,并且开始位置设置正确。 谢谢你的帮助 PagePractivity.java public class PagerActivity extends Activity implements OnPagerItemSelected { ViewPager viewPager; ArrayList
public class PagerActivity extends Activity implements OnPagerItemSelected {
ViewPager viewPager;
ArrayList<Bitmap> bitmapArray=null;
ArrayList<String> textArray=null;
ArrayList<String> urlArray=null;
int pagexi;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reklamapager);
viewPager = (ViewPager) findViewById(R.id.view_pager);
new readAsync().execute();
int pagexi = 2;
viewPager.setCurrentItem(pagexi);
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
int stranai = position + 1;
String strana=stranai + "";
Toast.makeText(PagerActivity.this, strana, Toast.LENGTH_SHORT).show();
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}//end oncreate
public void pagerItemSelected() {
finish();
}
/**
* Background Async Task to nacitaj textyoffline
* */
class readAsync extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
protected String doInBackground(String... args) {
textArray = new ArrayList<String>();
textArray.add("item 0;page 1");
textArray.add("item 1;page 2");
textArray.add("item 2;page 3");
return null;
}
protected void onPostExecute(String file_url) {
MyPagerAdapter adapter = new MyPagerAdapter(PagerActivity.this, textArray, urlArray, bitmapArray, PagerActivity.this );
viewPager.setAdapter(adapter);
}
//end onpost
}
//end async
}//end activity
公共类PageActivity扩展活动实现OnPagerItemSelected{
查看页面查看页面;
ArrayList bitmapArray=null;
ArrayList textArray=null;
ArrayList urlArray=null;
int pagexi;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reklamapager);
viewPager=(viewPager)findViewById(R.id.view\u pager);
新建readAsync().execute();
int-pagexi=2;
viewPager.setCurrentItem(第十一页);
viewPager.setOnPageChangeListener(新的viewPager.OnPageChangeListener(){
@凌驾
已选择页面上的公共无效(内部位置){
int stranai=位置+1;
字符串strana=stranai+“”;
Toast.makeText(pageActivity.this,strana,Toast.LENGTH_SHORT).show();
}
@凌驾
已滚动页面上的公共无效(int-position、float-positionOffset、int-positionOffsetPixels){
}
@凌驾
公共无效onPageScrollStateChanged(int状态){
}
});
}//结束一次创建
public void pagerItemSelected(){
完成();
}
/**
*nacitaj textyoffline的后台异步任务
* */
类readAsync扩展了AsyncTask{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
}
受保护的字符串doInBackground(字符串…args){
textArray=newarraylist();
textArray.add(“第0项;第1页”);
textArray.add(“第1项;第2页”);
textArray.add(“第2项;第3页”);
返回null;
}
受保护的void onPostExecute(字符串文件\u url){
MyPagerAdapter adapter=新的MyPagerAdapter(PageActivity.this、textArray、urlArray、bitmapArray、PageActivity.this);
viewPager.setAdapter(适配器);
}
//端到端
}
//端异步
}//结束活动
MyPagerAdapter.java
public class MyPagerAdapter extends PagerAdapter {
Context context;
OnPagerItemSelected mListener;
ArrayList<String> textArray;
ArrayList<String> urlArray;
ArrayList<Bitmap> bitmapArray;
ImageView imageView;
TextView textreklama1;
Button btnZoznam;
Button btnUprav;
public Activity activity;
String firmax;
String adresarx;
MyPagerAdapter(Context context, ArrayList<String> textArray, ArrayList<String> urlArray, ArrayList<Bitmap> bitmapArray, OnPagerItemSelected listener){
this.context=context;
this.textArray=textArray;
this.urlArray=urlArray;
this.bitmapArray=bitmapArray;
this.mListener = listener;
}
@Override
public int getCount() {
return textArray.size();
}
public Object instantiateItem(ViewGroup collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.reklamator_new, null);
String indexx = textArray.get(position).toString();
String delims2 = "[;]+";
String[] riadokxxx = indexx.split(delims2);
String ucex = riadokxxx[0].trim();
String dokx = riadokxxx[1].trim();
EditText inputUce = (EditText) view.findViewById(R.id.inputUce);
inputUce.setText(ucex);
EditText inputDok = (EditText) view.findViewById(R.id.inputDok);
inputDok.setText(dokx);
((ViewGroup) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(ViewGroup arg0, int arg1, Object arg2) {
((ViewGroup) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
public interface OnPagerItemSelected {
void pagerItemSelected();
}
//end of adapter
}
公共类MyPagerAdapter扩展了PagerAdapter{
语境;
OnPageRitemSelectedMListener;
ArrayList文本数组;
arraylisturlarray;
ArrayList位图数组;
图像视图图像视图;
TextView textreklama1;
按钮btnZoznam;
按钮btnUprav;
公共活动;
弦firmax;
字符串地址;
MyPagerAdapter(上下文上下文、ArrayList textArray、ArrayList urlArray、ArrayList bitmapArray、OnPagerItemSelected侦听器){
this.context=context;
this.textary=textArray;
this.urlArray=urlArray;
this.bitmapArray=bitmapArray;
this.mListener=侦听器;
}
@凌驾
public int getCount(){
返回textArray.size();
}
公共对象实例化项(视图组集合,int位置){
LayoutInflater充气器=(LayoutInflater)集合。getContext()
.getSystemService(上下文布局\充气机\服务);
视图=充气机。充气(R.layout.reklamator_new,null);
String indexx=textArray.get(position.toString();
字符串delims2=“[;]+”;
字符串[]riadokxxx=indexx.split(delims2);
字符串ucex=riadokxxx[0].trim();
字符串dokx=riadokxxx[1]。trim();
EditText inputUce=(EditText)view.findViewById(R.id.inputUce);
输入设置文本(ucex);
EditText inputDok=(EditText)view.findViewById(R.id.inputDok);
输入dok.setText(dokx);
((视图组)集合).addView(视图,0);
返回视图;
}
@凌驾
公共项目(视图组arg0、int arg1、对象arg2){
移除视图((视图)arg2);
}
@凌驾
公共布尔值isViewFromObject(视图arg0,对象arg1){
返回arg0==((视图)arg1);
}
已选择页面上的公共接口{
void pagerItemSelected();
}
//适配器端部
}
Set Cureent page in post after you have set adapter
protected void onPostExecute(String file_url) {
MyPagerAdapter adapter = new MyPagerAdapter(PagerActivity.this, textArray, urlArray, bitmapArray, PagerActivity.this );
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(pagexi);
}