相关疑难解决方法(0)

动态更新ViewPager?

我无法更新ViewPager中的内容.

一个问题:FragmentPagerAdapter类中的方法instantiateItem()和getItem()的关系和正确用法是什么?

我只使用getItem()实例化并返回我的片段:

@Override
public Fragment getItem(int position) {
    return new MyFragment(context, paramters);
}
Run Code Online (Sandbox Code Playgroud)

这很好用(但据说我不能改变内容).

所以我发现了这个:ViewPager PagerAdapter没有更新View

特别是在其中讨论了方法instantiateItem():

"我的方法是对instantiateItem()方法中的任何实例化视图使用setTag()方法"

所以现在我想实现instantiateItem()才能做到这一点.但我不知道我必须返回那里(return是Object)和getItem(int position)的关系是什么?

目前我正在使用getItem来实例化Fragment,这是错的吗?但是,我是否必须将片段放在实例变量中,或者根本不实现getItem()......?我只是不明白.

我试过阅读参考资料:

  • public abstract Fragment getItem(int position)

    返回与指定位置关联的片段.

  • public Object instantiateItem(ViewGroup容器,int位置)

    创建给定位置的页面.适配器负责将视图添加到此处给出的容器,但它必须确保在从finishUpdate(ViewGroup)返回时完成此操作.参数

    容器包含将在其中显示页面的View.position要实例化的页面位置.

    返回

    返回表示新页面的Object.这不需要是View,但可以是页面的其他容器.

......但我仍然不明白它们是如何相关的以及我必须做些什么.

这是我的代码.我正在使用支持包v4.

ViewPagerTest

public class ViewPagerTest extends FragmentActivity {
    private ViewPager pager;
    private MyFragmentAdapter adapter; 

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pager1);

        pager = (ViewPager)findViewById(R.id.slider);

        String[] data = {"page1", "page2", "page3", "page4", "page5", "page6"};

        adapter = new MyFragmentAdapter(getSupportFragmentManager(), 6, this, …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager

303
推荐指数
7
解决办法
26万
查看次数

替换ViewPager中的Fragment

我正在尝试使用Fragment ViewPager使用FragmentPagerAdapter.我想要实现的是将位于第一页上的片段替换为另一片段ViewPager.

寻呼机由两页组成.第一个是FirstPagerFragment,第二个是SecondPagerFragment.单击第一页的按钮.我想FirstPagerFragment用NextFragment 替换它.

我的代码如下.

public class FragmentPagerActivity extends FragmentActivity {

    static final int NUM_ITEMS = 2;

    MyAdapter mAdapter;
    ViewPager mPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_pager);

        mAdapter = new MyAdapter(getSupportFragmentManager());

        mPager = (ViewPager) findViewById(R.id.pager);
        mPager.setAdapter(mAdapter);

    }


    /**
     * Pager Adapter
     */
    public static class MyAdapter extends FragmentPagerAdapter {
        public MyAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public int getCount() {
            return NUM_ITEMS;
        }

        @Override
        public Fragment getItem(int …
Run Code Online (Sandbox Code Playgroud)

android view pager android-fragments android-viewpager

259
推荐指数
8
解决办法
18万
查看次数

使用viewpager滑动图像(而不是布局)

我的代码做了什么:

这是我的代码,用于在xml布局之间滑动的viewpager(名为left.xml,right.xml和center.xml).

我想要它做什么

我想在图像之间滑动(存储在drawable文件夹中).当我用R.drawable.image替换R.layout.xml时,我的应用程序崩溃了.任何人都可以帮我搞清楚吗?

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    MyPagerAdapter adapter = new MyPagerAdapter();
    ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager);
    myPager.setAdapter(adapter);
    myPager.setCurrentItem(0);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

class MyPagerAdapter extends PagerAdapter {

    public int getCount() {
        return 3;
    }

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

android android-fragments android-viewpager

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

在imageview中自动更改图像

我有一个imageview和一堆图像,但问题是我想一个接一个地显示图像视图中的所有图像,图像应该每隔一秒或每0.2秒更改,就像一个gif动画.

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="97dp"
    android:layout_marginTop="108dp"
    android:src="@drawable/ic_launcher" />



import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.CookieManager;
import android.webkit.WebSettings;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebSettings.RenderPriority;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {


private WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    CookieManager.getInstance().setAcceptCookie(true);//Enable Cookies

    mWebView = (WebView) findViewById(R.id.webView1);
    mWebView.getSettings().setJavaScriptEnabled(true);//Enable Java Script
    mWebView.setWebViewClient(new HelloWebViewClient());
    mWebView.loadUrl("http://www.google.com/"); //Set Home page
    mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);//Remove ScrollBars
    mWebView.getSettings().setDefaultFontSize(12);//Set Font Size
    mWebView.getSettings().setLoadsImagesAutomatically(true);//Enable Image Loading
    mWebView.getSettings().setPluginState(PluginState.ON);//Enable Flash
    mWebView.getSettings().setRenderPriority(RenderPriority.HIGH); //improves Feedback     on touch
    mWebView.setBackgroundColor(0x00000000);//Transparent Screen …
Run Code Online (Sandbox Code Playgroud)

android imageview

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

如何用水平滚动android显示图像

我正在使用Recyclerview来显示项目列表.现在每次都可以有一些照片/多张照片,我需要在一行中水平滚动显示.

我目前正在使用Gallery小部件来显示照片,但现在已经弃用了,所以我想要一些其他东西用于水平显示图像,具有与Gallery相同的功能.你能帮帮我吗?

非常感谢先进.

android gallery

1
推荐指数
1
解决办法
8241
查看次数