相关疑难解决方法(0)

在Android中Viewpager控制器的速度减慢

用android中的viewpager适配器有没有办法减慢滚动速度?


你知道,我一直在看这段代码.我无法弄清楚我错了什么.

try{ 
    Field mScroller = mPager.getClass().getDeclaredField("mScroller"); 
    mScroller.setAccessible(true); 
    Scroller scroll = new Scroller(cxt);
    Field scrollDuration = scroll.getClass().getDeclaredField("mDuration");
    scrollDuration.setAccessible(true);
    scrollDuration.set(scroll, 1000);
    mScroller.set(mPager, scroll);
}catch (Exception e){
    Toast.makeText(cxt, "something happened", Toast.LENGTH_LONG).show();
} 
Run Code Online (Sandbox Code Playgroud)

它没有改变什么,但没有例外发生?

android

102
推荐指数
6
解决办法
8万
查看次数

ScrollView中的ViewPager

我需要有一个ViewPager内部a ScrollView但是ViewPager当它进入时不会出现ScrollView,当我不使用时一切都好ScrollView.

我已经在stackoverflow或其他网站上看到过这样的问题,所有这些问题都得到了解答,你必须把它们放到android:fillViewport="true"你的滚动视图来修复问题,但是这个解决方案对我来说ViewPager不起作用,仍然没有出现即使我有android:fillViewport="true"我的ScrollView.

我想在android api中有些东西发生了变化,这个解决方案不再适用了,有没有人知道我怎么可能ViewPager出现在一个ScrollView

更新:一个有效的ScrollView布局XML:

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">


    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">

            <android.support.v4.view.ViewPager
                android:id="@+id/itemsViewPager2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >
            </android.support.v4.view.ViewPager>
    </LinearLayout>
 </ScrollView>
Run Code Online (Sandbox Code Playgroud)

android scrollview android-viewpager

21
推荐指数
2
解决办法
1万
查看次数

Android ViewPager会自动更改页面


我想安排一个动作来自动更改我的ViewPager页面.我试过了:

@Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    ...

    swipeTimer = new Timer();
    swipeTimer.schedule(new TimerTask() {

         @Override
         public void run() {
            if (currentPage == NUM_PAGES) {
                currentPage = 0;
            }
            featureViewPager.setCurrentItem(currentPage++, true);
         }
    }, 100, 500);
Run Code Online (Sandbox Code Playgroud)

但我总是得到:

E/AndroidRuntime(5381): FATAL EXCEPTION: Timer-0
E/AndroidRuntime(5381): java.lang.IllegalStateException: Must be called from main thread of process
Run Code Online (Sandbox Code Playgroud)

我已经在主线程了吗?我怎么解决这个问题?
谢谢你的时间.

编辑:
====================================


感谢您的所有答案.根据这些回复,我遇到了两个解决方案:
解决方案1:

swipeTimer = new Timer();
            swipeTimer.schedule(new TimerTask() {

                @Override
                public void run() {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            if (currentPage == …
Run Code Online (Sandbox Code Playgroud)

android timer ui-thread android-viewpager

21
推荐指数
2
解决办法
4万
查看次数

几秒钟后,Android视图寻呼机会自动更改页面

我已经使用android视图寻呼机显示图像和文本现在我想要的是,如果用户没有更改图像,那么它应该开始在几秒钟后自动更改图像,当用户再次开始使用他的手指然后图像不应该自动更改?

我试图使用处理程序来创建延迟,但它对我不起作用?

请帮助任何人

public class SimpleImageViewerActivity  extends Activity implements ViewPager.OnPageChangeListener{
    private Handler handler;
    ViewPager myPager;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.imageslideshow);
        MyPagerAdapter adapter = new MyPagerAdapter();
        myPager = (ViewPager) findViewById(R.id.slideShowPager);
        myPager.setAdapter(adapter);
        myPager.setCurrentItem(0);

        handler = new Handler();
    myPager.setOnPageChangeListener(this);
    }

    private class MyPagerAdapter extends PagerAdapter {

        public int getCount() {
            return 5;
        }

        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.farleft;
                break;
            case …
Run Code Online (Sandbox Code Playgroud)

android android-sdk-2.1 android-viewpager

12
推荐指数
1
解决办法
2万
查看次数