android ViewPager+Fragment嵌套 前两页不显示的问题

在不使用AsyncTask异步加载数据的情况下,由于需要加载数千个fragment的数据,所以载入有较长时间的黑屏卡顿,但是页面都能够正常显示。
但是我使用AsyncTask异步加载数据就会出现以下情况:
前两页Fragment没有显示内容,然后从第三页开始才有内容,然后再滑动回第一页,第一页内容出现。
初步判断,在前两页中ViewPager是能够找到的,但是里面的Fragment控件找不到,会报错。大神来帮帮忙

1个回答

估计是AsyncTask出现问题了 android3.0以后AsyncTask内部仅封装了一个线程 加载数据较慢,会有延迟现象 ,你试着换一种方式加载数据

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android ViewPager+Fragment嵌套 前两页不显示的问题
在不使用AsyncTask异步加载数据的情况下,由于需要加载数千个fragment的数据,所以载入有较长时间的黑屏卡顿,但是页面都能够正常显示。 但是我使用AsyncTask异步加载数据就会出现以下情况: **前两页Fragment没有显示内容**,然后从第三页开始才有内容,然后再滑动回第一页,第一页内容出现。 初步判断,在前两页中ViewPager是能够找到的,但是里面的Fragment控件找不到,会报错。大神来帮帮忙
fragment嵌套viewpager的问题
[fragment嵌套viewpager的问题](http://bbs.csdn.net/topics/391849456 "fragment嵌套viewpager的问题")
android中ViewPager+Fragment 中有fragment嵌套fragment
需求是 用ViewPager + Fragment(有3个Fragment) 实现页面滚动切换, 3个Fragment中其中有一个fragment中又嵌套了3个子fragment,最后滑动时, 界面出现了错位,要怎么解决
viewpager+fragment只显示第一个item
结构是fragment下一个父viewpager+fragment的组合,其中一个viewpager下嵌套了一个竖直方向的viewpager,子viewpager也是+fragment的组合,现在的问题是子viewpager中滑动切换的时候显示的都是同一个页面(第一个页面),滑动事件没有问题,就是滑动到第二个页面的时候显示的还是第一个item,使用的是getchildfragmentmanager,这个是没有问题的,滑动事件也没有问题,实在是头疼,找不出问题,代码贴在下面,请大神求解
ViewPager 嵌套 fragment 中无法显示fragment中的listview内容
我在viewpager中用fragment作为加载页,然后在fragment中嵌入了一个listview,单独测试时fragment能载入listview内容,但是在viewpager中加载fragment时,无法显示listview内容,fragment其他组件能显示 viewpager 代码: import java.util.ArrayList; import java.util.List; import com.nineteen.myandroid.R; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.text.Layout; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class AppUninstall extends FragmentActivity { ViewPager viewPager; // 内容页 List<View> views = new ArrayList<View>(); // 标题页 List<String> titles = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.app_uninstall); viewPager = (ViewPager) findViewById(R.id.viewpager); LayoutInflater inflater = LayoutInflater.from(this); View view = inflater.inflate(R.id.appun_person, null); views.add(view); titles.add("个人应用"); view = inflater.inflate(R.layout.test_relatvelayout, null); views.add(view); titles.add("系统预装"); view = inflater.inflate(R.layout.test_button, null); views.add(view); titles.add("猜你不喜欢"); viewPager.setAdapter(new MyPagerAdapter(views, titles)); } class MyPagerAdapter extends PagerAdapter { List<View> views; List<String> titles; public MyPagerAdapter(List<View> views, List<String> titles) { this.views = views; this.titles = titles; } @Override public int getCount() { return views.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } // 获取到标题 public CharSequence getPageTitle(int position) { return titles.get(position); } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(views.get(position)); return views.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(views.get(position)); } } } viewpage XML: <android.support.v4.view.ViewPager android:id="@+id/appun_viewpager" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" > <android.support.v4.view.PagerTabStrip android:id="@+id/pager_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="top" /> </android.support.v4.view.ViewPager> fragment代码: import java.util.ArrayList; import java.util.HashMap; import java.util.List; import com.nineteen.myandroid.R; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.widget.ListView; import android.widget.SimpleAdapter; public class PersonApp extends FragmentActivity { List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>(); ListView listView; int[] icon = { R.drawable.a005, R.drawable.a006, R.drawable.a007, R.drawable.a008, R.drawable.a009, R.drawable.a010, R.drawable.a011, R.drawable.a012, R.drawable.a013, R.drawable.a014, R.drawable.a015, R.drawable.a016, R.drawable.a017, R.drawable.a018, R.drawable.a019 }; String[] name = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "14" }; float[] size = { 1.10f, 1.10f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 2.0f }; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.app_uninstall_listview); listView = (ListView) findViewById(R.id.app_uninstall_listview); List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>(); for (int i = 0; i < icon.length; i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("icon", icon[i]); map.put("name", name[i]); map.put("size", size[i]); list.add(map); SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.app_uninstallitem, new String[] { "icon", "name", "size" }, new int[] { R.id.appun_imageview, R.id.appun_nameview, R.id.app_unitem_size }); listView.setAdapter(adapter); } } } fragment XML:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal" android:padding="2dp" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="手机内存" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="80dp" android:text="已用" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1.31" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="GB" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:text="," /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="剩余" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1.15" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="GB" /> </LinearLayout> <ProgressBar style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="5dp" android:max="100" android:progress="52" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal" android:padding="2dp" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="SD卡" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="104dp" android:text="已用" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1.31" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="GB" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:text="," /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="剩余" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1.15" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="GB" /> </LinearLayout> <ProgressBar style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="5dp" android:max="100" android:progress="52" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:padding="3dp" android:text="最近使用" /> <ListView android:id="@+id/app_uninstall_listview" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView> </LinearLayout> </LinearLayout>
android viewpager 自适应高度问题
scrollview 嵌套viewpager viewpager 中放入fragment fragment由Listview显示 第一页比第二页多 第二页会多出很多空白 去哪里加onmeasure
ScrollView嵌套ViewPager嵌套RecycleView item显示不全
如图所示:![图片说明](https://img-ask.csdn.net/upload/201704/24/1492995631_318407.png) 我在ScrollView里面嵌套了可以左右滑动的Viewpager,viewpager里面是上下滑动的 RecycleView,目前发现的问题是我给RecycleVIew设置的加载头显示不出来,最后一行也是显示不完全。感觉是滑动冲突的原因,但是网上没有系统的解决问题办法。请大家给点切实可行的解决办法吧 下面附上我的xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/rl_map_all" android:layout_width="match_parent" android:layout_height="match_parent"> <!--底部图层--> <android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!--底部图层--> <include layout="@layout/fragment_map" /> <!--右侧侧滑栏--> <include layout="@layout/map_slide_right" /> </android.support.v4.widget.DrawerLayout> <com.yinglan.scrolllayout.ScrollLayout android:id="@+id/scroll_down_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00550033" android:visibility="gone" app:allowHorizontalScroll="true" app:exitOffset="0dp" app:isSupportExit="true" app:maxOffset="300dp" app:minOffset="50dp" app:mode="open"> <!--多条记录悬浮--> <com.yinglan.scrolllayout.content.ContentScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="@dimen/dimen1800" android:clickable="true" android:focusable="true" android:focusableInTouchMode="true" android:orientation="vertical"> <com.example.administrator.im_demo.ui.view.navigationbar.indicators.MagicIndicator android:id="@+id/magic_indicator" android:layout_width="match_parent" android:layout_height="@dimen/dimen120" android:background="@color/tab_title" /> <android.support.v4.view.ViewPager android:id="@+id/viewpager_search_result" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> <TextView android:id="@+id/tv_next" android:layout_width="match_parent" android:layout_height="@dimen/dimen110" android:background="@color/white" android:clickable="true" android:gravity="center" android:text="总共XX条记录" android:textColor="@color/white" android:textSize="@dimen/dimen32" android:visibility="gone" /> </RelativeLayout> </com.yinglan.scrolllayout.content.ContentScrollView> </com.yinglan.scrolllayout.ScrollLayout> <android.support.v7.widget.Toolbar android:id="@+id/toolbar_mapall" android:layout_width="match_parent" android:layout_height="50dp" android:background="?attr/colorPrimary" android:minHeight="?attr/actionBarSize" android:titleTextColor="@android:color/white" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.ActionBar" android:visibility="gone"/> </RelativeLayout> ``` ``` <?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:background="@color/white"> <com.wan7451.wanadapter.mylibrary.WanRecycleView android:id="@+id/recycleview_float_company" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> ``` ``` 下面是几个引用的view: /* * * * sufly0001@gmail.com Modify the code to enhance the ease of use. * * * * Copyright (C) 2015 Ted xiong-wei@hotmail.com * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. * * You may obtain a copy of the License at * * * * http://www.apache.org/licenses/LICENSE-2.0 * * * * Unless required by applicable law or agreed to in writing, software * * distributed under the License is distributed on an "AS IS" BASIS, * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and * * limitations under the License. * * */ package com.yinglan.scrolllayout.content; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.ViewParent; import android.widget.ScrollView; import com.yinglan.scrolllayout.ScrollLayout; public class ContentScrollView extends ScrollView { public interface OnScrollChangedListener { void onScrollChanged(int l, int t, int oldl, int oldt); } private OnScrollChangedListener listener; public ContentScrollView(Context context) { super(context); } public ContentScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public ContentScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public void setOnScrollChangeListener(OnScrollChangedListener listener) { this.listener = listener; } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); listener.onScrollChanged(l, t, oldl, oldt); } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); ViewParent parent = this.getParent(); while (parent != null) { if (parent instanceof ScrollLayout) { ((ScrollLayout) parent).setAssociatedScrollView(this); break; } parent = parent.getParent(); } } @Override public boolean onTouchEvent(MotionEvent ev) { ViewParent parent = this.getParent(); if (parent instanceof ScrollLayout) { if (((ScrollLayout) parent).getCurrentStatus() == ScrollLayout.Status.OPENED) return false; } return super.onTouchEvent(ev); } } ``` ``` package com.wan7451.wanadapter.mylibrary; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.util.AttributeSet; import com.handmark.pulltorefresh.library.PullToRefreshBase; /** * Created by Hello on 2015/6/30. */ public class WanRecycleView extends PullToRefreshBase<RecyclerView> { public WanRecycleView(Context context) { super(context); } public WanRecycleView(Context context, AttributeSet attrs) { super(context, attrs); } public WanRecycleView(Context context, Mode mode) { super(context, mode); } public WanRecycleView(Context context, Mode mode, AnimationStyle animStyle) { super(context, mode, animStyle); } @Override public Orientation getPullToRefreshScrollDirection() { return Orientation.VERTICAL; } @Override protected RecyclerView createRefreshableView(Context context, AttributeSet attrs) { RecyclerView view = new RecyclerView(context, attrs); view.setId(R.id.recycleView); return view; } @Override protected boolean isReadyForPullEnd() { int lastVisiblePosition = getRefreshableView().getChildAdapterPosition(getRefreshableView().getChildAt(getRefreshableView().getChildCount() -1)); if (lastVisiblePosition >= getRefreshableView().getAdapter().getItemCount()-1) { return getRefreshableView().getChildAt(getRefreshableView().getChildCount() - 1).getBottom() <= getRefreshableView().getBottom(); } return false; } @Override protected boolean isReadyForPullStart() { if (getRefreshableView().getChildCount() <= 0) return true; int firstVisiblePosition = getRefreshableView().getChildAdapterPosition(getRefreshableView().getChildAt(0)); if (firstVisiblePosition == 0) return getRefreshableView().getChildAt(0).getTop() == getRefreshableView().getPaddingTop(); else return false; } } ``` ```
在viewpager和fragment中嵌套listview,出现setAdapter空指针情况。
在viewpager和fragment中嵌套listview,出现setAdapter空指针情况。 为了实现滑动切换界面,我写了三个fragment,在一个fragment中加入了一个listview,怎么启动都是空指针。 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference at com.example.tabhost_02.Fragment_Device.onActivityCreated(Fragment_Device.java:33) at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2619) at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:904) at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238) at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303) at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439) at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079) at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869) at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824) at androidx.fragment.app.FragmentManagerImpl.execSingleAction(FragmentManagerImpl.java:1696) at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:299) at androidx.fragment.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:235) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1244) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092) at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514) at android.widget.LinearLayout.measureVertical(LinearLayout.java:806) at android.widget.LinearLayout.onMeasure(LinearLayout.java:685) at android.view.View.measure(View.java:22002) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at androidx.appcompat.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:403) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514) at android.widget.LinearLayout.measureVertical(LinearLayout.java:806) at android.widget.LinearLayout.onMeasure(LinearLayout.java:685) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at com.android.internal.policy.DecorView.onMeasure(DecorView.java:721) at android.view.View.measure(View.java:22002) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2410) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1498) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1751) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1386) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6733) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911) at android.view.Choreographer.doCallbacks(Choreographer.java:723) at android.view.Choreographer.doFrame(Choreographer.java:658) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textView5" android:layout_width="358dp" android:layout_height="wrap_content" android:text="状态详情" android:textColor="#000000" android:textSize="20sp" android:textStyle="bold" /> <TextView android:id="@+id/textView2" android:layout_width="match_parent" android:layout_height="176dp" android:text="TextView" /> <TextView android:id="@+id/textView3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="部件信息" android:textColor="#000000" android:textSize="20sp" android:textStyle="bold" /> <TextView android:id="@+id/textView6" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="温度传感器" android:textColor="#2196F3" android:textSize="18sp" android:textStyle="bold" /> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> public class Fragment_Device extends Fragment { private List<Info> infos = new ArrayList<>(); private ListView device_info=null; public Fragment_Device(){ } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_device, container, false); initInfo(); return view; } public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); initInfo(); } private void initInfo() { Info dev_1 = new Info("室内环境监控", "20摄氏度", "100小时", "2019-05-01 09:00:00"); infos.add(dev_1); Info dev_2 = new Info("室内环境监控", "25摄氏度", "100小时", "2019-05-01 09:08:00"); infos.add(dev_2); Info dev_3 = new Info("室内环境监控", "23摄氏度", "100小时", "2019-05-01 10:00:00"); infos.add(dev_3); Info dev_4 = new Info("室内环境监控", "28摄氏度", "100小时", "2019-05-01 10:30:00"); infos.add(dev_4); InfoAdapter infoAdapter = new InfoAdapter(infos,getContext()); View view = LayoutInflater.from(getContext()).inflate(R.layout.list_item,null); infos=view.findViewById(R.id.lv); device_info = view.findViewById(R.id.lv); device_info.setAdapter(infoAdapter); } }
安卓viewPager+fragment加载后台数据出现的黑屏问题
fragment个数20多个吧是动态增加的,并且fragment需要的数据是在fragment中网络获取的,viewpager绑定adapter的时候出现闪屏,后面左右滑动都没有这个问题。就是在刚刚进入程序后的MainActivity找那个嵌套了两层fragment 然后就会黑屏2秒然后又加载出数据速求大神解决
关于在fragment里用viewpager嵌套几个fragment
在activity切换fragment的时候默认会重新调用oncreateview方法,界面会重置。然后我用 if (rootView == null) { rootView = inflater.inflate(R.layout.fragment, container, false); } ViewGroup parent = (ViewGroup) rootView.getParent(); if (parent != null) { parent.removeView(rootView); } return rootView; 这种方法来不重复加载,可是第二次进入这个页面 viewpager(adapter用的getChildFragmentManager)里面的fragment数据都加载不出来了,点击就崩溃 提示 java.lang.NullPointerException at android.support.v4.app.Fragment.setUserVisibleHint(Fragment.java:876) 试过很多方法例如重写destroyItem也不行……要怎样才能实现viewpager里的fragment界面不重复oncreateview呢
安卓小白问问fragment中嵌套viewpager
需求是:自己写好了fragment,想在fragment当中嵌套一个自动播放图片的 viewpage 找了很多相似的代码,但是还是不行,,,其实就是想效果和淘宝首页一样 他的广告自动的播放,还有下面那个点 其次想找一个师父,带着一起上路,一起学习进步! 大神在的话,给个源码吧,一起进步!谢谢 邮箱:1437810161@qq.com
ScrollView,ViewPager,ListView嵌套问题
![图片说明](https://img-ask.csdn.net/upload/201504/22/1429682508_934584.png) 项目中想类似实现如上图的效果,全局一个ScrollView,下面我用的是ViewPager,里面有3个Fragment,Fragment下面有ListView,嵌套的各种冲突基本百度谷歌解决了,运行测试数据是没问题的,但因为我的ListView是直接计算高度的,失去了缓存机制和回收机制,在第一次加载的时候都会把ListView的所有项加载进来,担心后面会有效率的问题,因为ListView数据还是挺多的,大神们有更好的解决方法么?
关于安卓fragment onPause的问题
外面是4个tab有4个fragment,我在第一个里面嵌套了一个ViewPager用来做广告自动循环播放,当我切出第一个fragment,而且也onPause了,但是ViewPager还在自己循环。我想如果切出第一个fragment,viewpager也停止,然后如果切回第一个fragment,viewpager继续,请问怎么办?新手刚接触,谢谢!
Fragment中的上下滑动事件会被上一个Fragment响应而不是当前的,怎么办
我当前开发一个安卓app,只有一个activity,布局文件是中有一个ViewPager,其适配器绑了三个Fragment。前两个Fragment的布局文件都是最外层SwipeRefreshLayout用于下拉刷新,然后嵌套一个ScrollView,第三个也准备这么弄但是发现问题。**当我进入app默认显示第一个Fragment时,上下滑动屏幕是有滑动效果的,然而切换到第二个Fragment滑动就没效果。接着我发现,当我在第二个Fragment中滑动后,再切换回第一个Fragment,发现反而是第一个Fragment界面响应了我的滑动操作。于是我尝试切换到第三个Fragment,滑动后迅速切换到第二个Fragment,果然其界面正在**滑动。 我并不知道这个原因到底是什么,但我试了一个办法:**通过重载setUserVisibleHint(),一旦离开一个Fragment,直接把整个Fragment设成Invisible,以这种方式,的确实现了滑动操作被当前Fragment响应。**但我还是弄不懂之前为什么会有那样的情况——**在第一个和第二个Fragment中滑动屏幕,都是第一个Fragment响应,在第三个Fragment中滑动屏幕,则是第二个Fragment响应滑动操作。** 我想知道,究竟出了什么问题,是什么原因导致的,我怎么才能解决(不通过设置Visibility的方法强行实现)? Fragment布局文件代码(只给出一个,另一个类似): ``` <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/swipe_article_container" android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView android:id="@+id/scroll_article_container" android:layout_width="match_parent" android:layout_height="match_parent" android:descendantFocusability="blocksDescendants"> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <WebView android:id="@+id/articleWebView" android:layout_width="match_parent" android:layout_height="wrap_content" android:alpha="0"/> <ProgressBar android:id="@+id/webViewLoading" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" style="@style/MyProgressBar" android:visibility="gone"/> </FrameLayout> </ScrollView> </android.support.v4.widget.SwipeRefreshLayout> ```
android Fragment中嵌入ListView ,更新数据后,getview()没被调用
我是在vieapage里面嵌套listview的。viewpager是用fragment写的。listview是简单Adapter写的
viewpager抢子控件焦点
如图,一个viewpager嵌套3个fragment,第一个fragment里面有一个listview,item中有一个imageview,在listview的adapter中设置imageview的点击事件,弹出一个popuwindow,第一次进入这个fragment中时,点击imageview响应点击事件,响应一次之后,再点击,无反应,然后稍微滑动viewpager或者点击一下listview的条目的时候,imageview的点击事件才响应,debug也是,应该是焦点问题,但具体的我不知道,有哪位大神帮我看看,应该改哪里 ![图片说明](https://img-ask.csdn.net/upload/201707/05/1499248558_405255.png)
仿淘宝商品详情页的"拖动效果",和拖出来的"导航置顶"滑动导航下的视图
csdn也有demo叫仿淘宝商品详情页 大家不要给我推荐那个,因为那个的布局拖动直接置顶的效果是有,但是放的是图片,没有解决下面放viewpager所出现的问题。现在把下面拖出来的布局换成横向滚动的导航+pager内fragment切换。出现如下问题: viewpager 不显示 解决办法有两种。 第 一种方式是给嵌套pager的scrollview 加android:fillViewport="true" 第二种方式是 viewpager高度设置固定值。 ?但是第一种方式又出现的问题是,滑动到下面布局后 横向导航置顶对 下面内容滑动对 但是向下滑由于走到了viewpager布局的scrollview滚动事件 不走主布局中的scrollview事件了。无法向下滑动拖拽回上一页了。 ?第二种方式出现的问题是, 滑动到下一页后 导航栏不置顶 跟随页面滚动。然后由于pager高度固定的 pager内容显示不全,并且 scrollview和pager 滑动冲突也已经判断滚动xy哪个更大,pager滑动还是不灵敏。
HorizontalScrollView中button居中的问题
HorizontalScrollView嵌套了个Radiobutton,想在点击中间的button的时候,让button居中一点 ,不知道用什么办法。。。我用的radiobutton+fragment+viewpager。
关于SwipeRefreshLayout嵌套ViewPage又嵌套ListView的下滑冲突问题
有个android项目,用TabPageIndicator实现分页,用SwipeRefreshLayout实现下拉刷新,但是出现的问题是:下拉还未到顶部时,就触发SwipeRefreshLayout刷新了。 我的界面类似这样: ![http://static.open-open.com/lib/uploadImg/20170110/20170110202653_236.gif]() 布局: ``` <com.prgguru.example.listvideotest.VpSwipeRefreshLayout android:id="@+id/swipe_refresh" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="fill_parent" android:layout_height="fill_parent"> </android.support.v4.view.ViewPager> </com.prgguru.example.listvideotest.VpSwipeRefreshLayout> ``` Activity片段: ``` @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listview_viewpager); final ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager); mTabPageIndicator = (TabPageIndicator) findViewById(R.id.id_indicator); mTabAdapter = new TabAdapter(getSupportFragmentManager()); viewPager.setAdapter(mTabAdapter); mTabPageIndicator.setViewPager(viewPager, 0); //下拉刷新 vpSwipeRefresh = (VpSwipeRefreshLayout) findViewById(R.id.swipe_refresh); vpSwipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { refreshView(); } }); } ``` VpSwipeRefreshLayout是我自定义的SwipeRefreshLayout,主要解决ViewPage左右滑动时的冲突,代码如下: ``` public class VpSwipeRefreshLayout extends SwipeRefreshLayout { private float startY; private float startX; // 记录viewPager是否拖拽的标记 private boolean mIsVpDragger; private final int mTouchSlop; private ViewPager mViewPage; private ListView mListView; private View contentView; public VpSwipeRefreshLayout(Context context, AttributeSet attrs) { super(context, attrs); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { mViewPage = null; mListView = null; int action = ev.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // 记录手指按下的位置 startY = ev.getY(); startX = ev.getX(); // 初始化标记 mIsVpDragger = false; break; case MotionEvent.ACTION_MOVE: // 如果viewpager正在拖拽中,那么不拦截它的事件,直接return false; if(mIsVpDragger) { return false; } // 获取当前手指位置 float endY = ev.getY(); float endX = ev.getX(); float distanceX = Math.abs(endX - startX); float distanceY = Math.abs(endY - startY); // 如果X轴位移大于Y轴位移,那么将事件交给viewPager处理。 if(distanceX > mTouchSlop && distanceX > distanceY) { mIsVpDragger = true; return false; } break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: // 初始化标记 mIsVpDragger = false; break; } } ``` 我的TabAdapter: ``` public class TabAdapter extends FragmentPagerAdapter { public static String[] TITLES = new String[]{"item1","item2","item3"}; public TabAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { TabFragment fragment = new TabFragment(position); return fragment; } @Override public int getCount() { return TITLES.length; } @Override public CharSequence getPageTitle(int position) { return TITLES[position]; } ``` 我的TabFragment: ``` public class TabFragment extends Fragment { private int pos; public TabFragment(int pos){ this.pos= pos; } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { //R.layout.layout_list 只有一个ListView final ListView listView = (ListView) inflater.inflate(R.layout.layout_list, container, false); listView.setAdapter(new VideoListAdapter(getActivity(), VideoConstant.videoUrls[pos],//视频地址 VideoConstant.videoTitles[pos],//视频标题 VideoConstant.videoThumbs[pos]));//视频缩略图 return listView; } ```
安卓HorizontalScrollView触摸冲突问题
安卓的一个问题。 主界面是一个HorizontalScrollView, 里面嵌套一个LinearLayout,然后其中又载入了一个fragment,这个fragment中又有一个viewpager。 现在问题来了,无法使用手势让viewpager滑动。没有添加其他控件在fragment里面,估计也是不行的。 网上看见一些做法是用dispatchTouchEvent来解决,但是具体做法我怎么想都想不出来,望大神指点! 现在的问题是ViewPager滑不了,都被最外的HorizontalScrollView截获了
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
python自动下载图片
近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。 可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。 突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’ 作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me for a ...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
C++(数据结构与算法):62---搜索树(二叉搜索树、索引二叉搜索树)
一、搜索树的复杂度分析 本文考察二叉搜索树和索引二叉搜索树 二叉搜索树的渐进性能可以和跳表媲美: 查找、插入、删除操作所需的平均时间为Θ(logn) 查找、插入、删除操作的最坏情况的时间为Θ(n) 元素按升序输出时所需时间为Θ(n) 虽然在最坏情况下的查找、插入、删除操作,散列表和二叉搜索树的时间性能相同,但是散列表在最好的情况下具有超级性能Θ(1) 不过,对于一个指定的关键...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
立即提问