I use this instruction to make a slider. It turned out the following:
fltut.xml
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/desc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="@string/fld1" android:textAppearance="?android:attr/textAppearanceMedium" /> <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/at1" /> </TableLayout> <TextView android:id="@+id/stp" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="bottom|right" android:text="1/12" /> </AbsoluteLayout>
fltut.java
package dlp.app.content.paperplanes.free; import android.os.Bundle; import android.app.Activity; public class fltut extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fltut); } }
flslider.java
package dlp.app.content.paperplanes.free; import java.util.ArrayList; import java.util.List; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.view.*; import android.widget.*; public class flslider extends fltut { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LayoutInflater inflater = LayoutInflater.from(this); List<View> pages = new ArrayList<View>(); for (int i = 1; i <= 12; i++ ) { View page = inflater.inflate(R.layout.fltut, null); TextView textView = (TextView) page.findViewById(R.id.desc); textView.setText("@string/fld" + i); ImageView imgView = (ImageView) page.findViewById(R.id.img); int drawableResourceId = this.getResources().getIdentifier("R.drawable.fl"+i, "drawable", this.getPackageName()); imgView.setImageResource(drawableResourceId); TextView stpView = (TextView) page.findViewById(R.id.stp); stpView.setText(i + "/12"); pages.add(page); } SamplePagerAdapter pagerAdapter = new SamplePagerAdapter(pages); ViewPager viewPager = new ViewPager(this); viewPager.setAdapter(pagerAdapter); viewPager.setCurrentItem(1); setContentView(viewPager); } }
SamplePagerAdapter.java
package dlp.app.content.paperplanes.free; import java.util.List; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; public class SamplePagerAdapter extends PagerAdapter{ List<View> pages = null; public SamplePagerAdapter(List<View> pages){ this.pages = pages; } @Override public Object instantiateItem(View collection, int position){ View v = pages.get(position); ((ViewPager) collection).addView(v, 0); return v; } @Override public void destroyItem(View collection, int position, Object view){ ((ViewPager) collection).removeView((View) view); } @Override public int getCount(){ return pages.size(); } @Override public boolean isViewFromObject(View view, Object object){ return view.equals(object); } @Override public void finishUpdate(View arg0){ } @Override public void restoreState(Parcelable arg0, ClassLoader arg1){ } @Override public Parcelable saveState(){ return null; } @Override public void startUpdate(View arg0){ } }
When launched, the phone displays 1 page and that's it. Does not react to the touch. * What is the problem / how to fix it? *
ps Anyone who gives a good working answer, I will give 50 points.
pps If in flslider.java viewPager.setCurrentItem (1); change to viewPager.setCurrentItem (2); anyway the first page will seem
ppps I apologize for the many letters. Just already I sit for several hours and I can not think of anything