我会尽可能简短而简单地回答这个问题.
View activeView = mViewPager.getChildAt(mViewPager.getCurrentItem());
Run Code Online (Sandbox Code Playgroud)
当前项为0和1时返回子视图.但如果当前项为2则返回null.这是为什么?
编辑:让我重温一下自己.如何在任何给定项目位置获取ViewPager的子视图?
这个问题是针对新的ViewPager2类的。
旧的 ViewPager有一个类似的问题,但解决方案需要扩展ViewPager。但是,ViewPager2 是最终版本,因此无法扩展。
在我的情况下,我有一个包含三个不同片段的 ViewPager2。其中一个片段比其他两个片段高得多,这意味着当您滑动到较短的片段之一时,会有很多空白空间。那么如何有效地将 ViewPager2 包裹到当前片段的高度呢?
android android-fragments android-viewpager android-viewpager2
我认为我为从json中的服务器获取数据而构建的代码没有启动.在logcat中,没有来自"log.v"的文本.此外,我所做的代码似乎并不一直是try catch.我使用Aquery来获取ajax请求.
有其他人有问题吗?
我想把json放到一个hashmap中,这样我就可以构建一个listview,但是我无法从json中获取数据到logcat中
Greathings
public class film_sound extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Get the view from fragmenttab1.xml
View view = inflater.inflate(R.layout.activity_film_sound, container, false);
Context context = inflater.getContext();
String[] Film_Data = getArguments().getStringArray("Film_Data");
File ext = Environment.getExternalStorageDirectory();
File cacheDir = new File(ext, "/android/data/be.moviechecker.programma/case");
AQUtility.setCacheDir(cacheDir);
final AQuery aq = new AQuery(context);
/*Ophalen van de json*/
String url = "http://app.be/data_2_0_0/sound.php?id=1";
aq.ajax(url, JSONObject.class, new AjaxCallback<JSONObject>() {
@Override
public void callback(String url, JSONObject json, AjaxStatus status) …Run Code Online (Sandbox Code Playgroud) 我在用:
activity 包含以fragment编程方式添加的布局.FragmentStatePagerAdapter视图寻呼机,所有内容都在里面ScrollView.问题是:
为此,我用过
viewpager.getLayoutParams().height = 20000;
viewpager.requestLayout();`
Run Code Online (Sandbox Code Playgroud)
和
ViewGroup.LayoutParams params = viewPagerBottom.getLayoutParams();
params.height = 20000;
viewPagerBottom.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)
另外,我尝试过查看寻呼机和查看寻呼机片段高度属性 wrap_content
android:layout_height="match_parent",则看不到视图寻呼机内容android:fillViewport="true".它是父片段layout.xml.
<ScrollView
style="@style/scrollDefaultStyle"
android:layout_height="wrap_content"
android:fillViewport="true"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TabLayout .... />
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud) android scrollview android-fragments android-viewpager fragmentstatepageradapter
我在工作时遇到了问题ViewPaper.当我设置ViewPaper时它没有显示任何内容height = wrap_content,它显示我是否为ViewPager(ex :) 设置了高度android:layout_height= "350dp".请帮忙!谢谢!
这是我的xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical" >
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:scrollbars="none" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#FF0000"
android:gravity="center"
android:text="Quick Links"
android:textColor="@color/white"
android:textSize="20sp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</android.support.v4.view.ViewPager>
<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/circlePage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/pager"
android:layout_marginBottom="10dp" >
</com.viewpagerindicator.CirclePageIndicator>
</RelativeLayout>
<com.custom.ExpandableHeightListView
android:id="@+id/lvAdmissions"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:divider="@drawable/bg_listview_divider"
android:dividerHeight="1dp"
android:listSelector="@drawable/selector_animation" >
</com.custom.ExpandableHeightListView>
</LinearLayout>
</ScrollView>
</LinearLayout> …Run Code Online (Sandbox Code Playgroud) 我将View Pager作为List Item行,我将数据设置到寻呼机的适配器以显示在列表视图中.这是我的代码:
Pager_Item布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/inner_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="6.0dip"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:text="Example Value"
android:textAppearance="?android:textAppearanceMedium" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
列表视图行项目
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/mypager"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
ListView GetView
ViewHolder holder;
if(rowView==null){
holder = new ViewHolder();
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
rowView = inflater.inflate(R.layout.horizontal_list_item, parent,false);
MyPagerAdapter adapter = new MyPagerAdapter(context);
ViewPager myPager = (ViewPager) rowView.findViewById(R.id.mypager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(4, true); …Run Code Online (Sandbox Code Playgroud)