タグ付けされた質問 「android-viewpager」

ユーザーがスワイプできる子ビューのレイアウトを管理するViewGroup。

8
ビューページャーへのビューの動的な追加と削除
(私は解決策を見つけました-以下の回答セクションの私の投稿を参照してください。) 私のアプリでは、ユーザーは自分のデータの単一ビューから始めます。ViewPagerを追加し、ユーザーが必要に応じてビューを追加できるようにしたいと思います。どうすればよいですか?(私はFragmentPagerAdapterを使用したくありません。) 私は無数の投稿と概要を読みましたが、まだ何かが足りません。これが私が理解していると思うことです: MainActivityはViewPagerとPagerAdapterを作成します。 ViewPager pager = null; MainPagerAdapter adapter = null; public void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); pager = new ViewPager (this); setContentView (pager); adapter = new MainPagerAdapter(); pager.setAdapter (adapter); View v0 = code_to_create_initial_view(); adapter.add (v0, 0); } PagerAdapterを使用して、ビューのセットを提供します。このため、ビューを追加および削除するメソッドが必要なようです。明らかに、ViewPagerに変更があったこと、および変更を表示する方法を伝えるには、さらに多くのものが必要です。 class MainPagerAdapter extends PagerAdapter { // This holds …


5
ViewPagerのページを変更するには?
アプリでViewPagerを使用しており、メインアクティビティで定義します。Inside onCreateメソッドでは、SharedPreferencesからいくつかのページをロードしてから、PagerAdapterに渡します。 @Override public int getCount() { return numberOfPages; } 問題は、設定(または別のアクティビティ)でこの数を以前に表示したページインデックスよりも小さい値に変更すると、このViewPagerでアクティビティに戻ったときにこのインデックスが範囲外であるため、アプリがクラッシュすることです。アクティブなViewPagerのページを変更するだけで修正できます。それを行う方法はありますか?

5
ViewPagerがページを変更するタイミングを決定する
ViewPager内に3つのページ(フラグメント)がありますが、これらのページのうち2つだけのメニュー項目を表示したいと思います。 以前のSOの回答で与えられたコードは機能していないようです: @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser == true) { } else if (isVisibleToUser == false) { } } Eclipseによると、@ Overrideは不要であり、superは設定できません。システムから呼び出されることはありません。たとえどのように表示されていても、現在どのページが表示されているかをどのように判断すればよいでしょうか。ここで助けてもらえますか?

7
前のページと次のページの境界を持つViewPager
複数ページのビューをデザインしています。前のページと次のページの端を以下のように表示し、2本の指でスワイプしてページを切り替えます。 ここでViewPager提案されているように負のページマージンを使用してみましたが、同時に両方ではなく、画面の端の1つだけが表示されます。 または、ビューの一部を画面の外に配置してアニメーション化し、ViewPagerタイプ効果を与える方法はありますか? どうすればいいですか?よろしくお願いします!

10
ViewPagerの一部としてListFragmentのデータを更新する
Androidでv4互換のViewPagerを使用しています。私のFragmentActivityには、ViewPagerのさまざまなページにさまざまな方法で表示される一連のデータがあります。これまでのところ、同じListFragmentのインスタンスは3つしかありませんが、将来的には、異なるListFragmentのインスタンスが3つになる予定です。ViewPagerは垂直の電話画面上にあり、リストは並んでいません。 これで、ListFragmentのボタンが(FragmentActivityを介して)個別のフルページアクティビティを開始し、FragmentActivityがデータを変更して保存し、ViewPagerのすべてのビューを更新しようとします。私が行き詰まっているのはここです。 public class ProgressMainActivity extends FragmentActivity { MyAdapter mAdapter; ViewPager mPager; @Override public void onCreate(Bundle savedInstanceState) { ... mAdapter = new MyAdapter(getSupportFragmentManager()); mPager = (ViewPager) findViewById(R.id.viewpager); mPager.setAdapter(mAdapter); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { ... updateFragments(); ... } public void updateFragments() { //Attempt 1: //mAdapter.notifyDataSetChanged(); …


16
AndroidのViewPagerからフラグメントページを削除する
ViewPagerからフラグメントを動的に追加および削除しようとしていますが、問題なく機能しますが、削除は期待どおりに機能しません。 現在のアイテムを削除するたびに、最後のアイテムが削除されます。 また、アダプターのgetItemPositionメソッドでFragmentStatePagerAdapterを使用するか、POSITION_NONEを返そうとしました。 何が悪いのですか? 基本的な例は次のとおりです。 MainActivity.java public class MainActivity extends FragmentActivity implements TextProvider { private Button mAdd; private Button mRemove; private ViewPager mPager; private MyPagerAdapter mAdapter; private ArrayList<String> mEntries = new ArrayList<String>(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mEntries.add("pos 1"); mEntries.add("pos 2"); mEntries.add("pos 3"); mEntries.add("pos 4"); mEntries.add("pos 5"); …

3
ViewPagerが画面外のビューを破棄しないようにする
3つのフラグメントを表示しているFragmentPagerAdapterに接続されたViewPagerがあります。ViewPagerは、現在の位置から複数回スワイプすると、ホストされたフラグメントのビューを破壊するように見えます。 これらのビューはすべて単純なリストであり、この最適化は完全に不要なので、無効にしたいと思います。リストにはレイアウトアニメーションが適用されており、それらのアニメーションは破棄して再作成した後で再生されているため、視覚的な問題が発生しています。また、スクロールバーのイントロアニメーションが毎回表示され(スクロールバーが一時的に表示され、スクロールが可能であることを示します)、気が散る可能性があり、ユーザーの現在のスクロール位置がプロセスで失われます。 また、最初のスワイプが発生するまで3番目のフラグメントは読み込まれません。これは、各フラグメントが独自のサービス呼び出しを処理し、アクティビティが読み込まれるときに3つすべてを同時にオフにしたいため問題です。3番目のサービス呼び出しを遅延させることは、理想的とは言えません。 ViewPagerを説得してこの動作を停止し、すべてのフラグメントをメモリに保持する方法はありますか?

7
ビューでページャーを使用できますか(フラグメントではありません)
私が使用していますViewPager間でスワイプするためにFragments、私は使用することができますViewPager間のスワイプにViews簡単なXMLレイアウト? これは、Adapterフラグメント間をスワイプするために使用されるViewPagerの私のページです。 import java.util.List; import com.app.name.fragments.TipsFragment; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.app.FragmentTransaction; import android.view.ViewGroup; public class PageAdapter extends FragmentPagerAdapter { /** * */ List<Fragment> fragments; public PageAdapter(FragmentManager fm,List<Fragment> frags) { super(fm); fragments = frags; } @Override public Fragment getItem(int arg0) { // TODO Auto-generated method stub return TipsFragment.newInstance(0, …

15
Android:垂直ViewPager [終了]
休業。この質問はもっと集中する必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 昨年休業。 この質問を改善する ViewPager水平方向ではなく垂直方向にスクロールするを作成する方法はありますか?

19
NestedScrollViewのViewPager
折りたたみヘッダー(垂直スクロール)上のViewPager(水平スクロール)の一種であるGoogleニューススタンドのようなインターフェースを作成する必要があります。私の要件の1つは、Google IO 2015で提示された新しいデザインサポートライブラリを使用することです(http://android-developers.blogspot.ca/2015/05/android-design-support-library.html) Chris Banesが作成したサンプル(https://github.com/chrisbanes/cheesesquare)に基づいて、折りたたみ動作を実行できるようになりましたが、基本的なLinearLayout(水平スクロールなし)を使用しました。 LinearLayoutをViewPagerに置き換えようとしたところ、空白の画面が表示されました。私は遊んだ:幅、重さ、あらゆる種類のビューグループ。ただし、まだ空白の画面。ViewPagerとNestedScrollViewはお互いが好きではないようです。 Horizo​​ntalScrollViewを使用して回避策を試しました:機能しますが、PagerTitleStrip機能の利点と1つのパネルへのフォーカスが失われます(2つのパネル間で水平方向に停止できます)。 誰かが私を解決策に導くことができるならば、今私にはこれ以上のアイデアはありません... ありがとう これが私の最新のレイアウトファイルです: <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="@dimen/header_height" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:layout_width="match_parent" android:layout_height="match_parent" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <include layout="@layout/part_header" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_collapseMode="parallax"/> <android.support.v7.widget.Toolbar android:id="@+id/activity_main_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:id="@+id/activity_main_nestedscrollview" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <android.support.v4.view.ViewPager android:id="@+id/activity_main_viewpager" …

13
ViewPagerでタブを使用すると「Java.lang.IllegalStateExceptionアクティビティが破棄されました」というエラーが発生する
タブモードでActionBarSherlockを使用して構成されるアプリケーションがあります.5つのタブがあり、各タブのコンテンツはフラグメントを使用して処理されます。しかし、tab2の場合、フラグメントファイルがあり、そのxmlファイルにはViewPager要素が含まれており、ViewPager要素にはいくつかのフラグメントページがあります。最初にアプリケーションを起動したときに、問題なくタブを切り替えることができますが、2回目にtab2を押すと、上記のエラーが発生します。主な活動は次のとおりです。 public class MainActivity extends SherlockFragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActionBar actionBar = getSupportActionBar(); ActionBar.Tab tab1 = actionBar.newTab().setText("Tab1"); ActionBar.Tab tab3 = actionBar.newTab().setText("Tab3"); ActionBar.Tab tab2 = actionBar.newTab().setText("Tab2"); ActionBar.Tab tab4 = actionBar.newTab().setText("Tab4"); ActionBar.Tab tab5 = actionBar.newTab().setText("Tab5"); Fragment fragment1 = new Tab1(); Fragment fragment3 = new Tab3(); Fragment …

7
データが読み込まれた後、scrollviewがwebviewにスクロールしないようにするにはどうすればよいですか?
だから私は興味深い問題を抱えています。ビューを手動またはプログラムでスクロールしていませんが、内部のデータが読み込まれた後、WebViewが自動的にスクロールされます。 ビューページャーにフラグメントがあります。最初にページャーをロードすると、期待どおりに動作し、すべてが表示されます。しかし、「ページをめくる」と、データが読み込まれ、WebViewがページの最上部にポップアップし、その上のビューが非表示になるため、望ましくありません。 これが起こらないようにする方法を誰かが知っていますか? 私のレイアウトはそのように見えます: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/background" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/article_title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="2dp" android:text="Some Title" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="@color/article_title" android:textStyle="bold" /> <LinearLayout android:id="@+id/LL_Seperator" android:layout_width="fill_parent" android:layout_height="1dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:background="@color/text" android:orientation="horizontal" > </LinearLayout> <WebView android:id="@+id/article_content" android:layout_width="match_parent" android:layout_marginRight="10dp" android:layout_marginLeft="10dp" android:layout_height="wrap_content" …


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.