当用户到达列表中可见的项目时,如何在底部显示进度条.
我编写了一个代码,我使用Web服务获取数据,现在我想填充部分记录,因为我的JSON中有大约630条记录.
这是我用来从JSON获取数据并填充到RecyclerView中的整个代码.
以下是我的JSON外观,但真正的JSON包含600多条记录:
http://walldroidhd.com/api.php
Run Code Online (Sandbox Code Playgroud)
有人可以指导我在我的代码中进行更改吗?
我希望每当用户使用进度条滚动到底部时填充更多记录,我仍然显示所有记录.
RecyclerViewFragment.java:
public class RecyclerViewFragment extends Fragment {
RecyclerView mRecyclerView;
LinearLayoutManager mLayoutManager;
RecyclerView.Adapter mAdapter;
ArrayList<NatureItem> actorsList;
private int previousTotal = 0;
private boolean loading = true;
private int visibleThreshold = 5;
int firstVisibleItem, visibleItemCount, totalItemCount;
public static RecyclerViewFragment newInstance() {
return new RecyclerViewFragment();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_recyclerview_advance, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
actorsList = new …Run Code Online (Sandbox Code Playgroud) java onscrolllistener endlessscroll android-cardview android-recyclerview
我正在尝试使用RecyclerView实现Endless Infinite Scrolling,但是我只获得了前10条记录,没有获得接下来的10条记录,甚至在尝试向下滚动时没有取得任何进展.
虽然我想要在滚动上获得接下来的10条记录等等......但只获得前10条记录
这里我上传了我的JSON 副本 - 但我无法从同一个网址获取数据,这就是我使用客户端的网址和本地主机的原因.
我正在学习本教程
这是我的完整代码,我可以知道我在哪里做错了吗?
JSON:
{
"names": [
{
"name": "Name 1"
},
{
"name": "Name 2"
},
....
{
"name": "Name 60"
}
]
}
Run Code Online (Sandbox Code Playgroud)
日志:
D/name -(13759): Name 1
D/name -(13759): Name 2
.......................
D/name -(13759): Name 60
Run Code Online (Sandbox Code Playgroud)
这是我更新的代码,我用它来解析JSON数据
MainActivity.java:更新
public class MainActivity extends AppCompatActivity {
private Toolbar toolbar;
private TextView tvEmptyView;
private RecyclerView mRecyclerView;
private DataAdapter mAdapter;
private LinearLayoutManager mLayoutManager;
private ArrayList<Student> studentList;
protected Handler handler;
@Override
protected void …Run Code Online (Sandbox Code Playgroud) android json infinite-scroll endlessscroll android-recyclerview
我有一个RecyclerView,我添加了数据列表RecyclerView.当RecyclerView屏幕上显示最后一项时,我想在列表中添加更多数据.之后我想进行Web服务调用并更新RecyclerView数据.我怎样才能做到这一点?
有什么建议?
我已经尝试为LinearLayoutManager实现无限滚动并且它成功并尝试将LinearLayoutManager实现复制到StaggeredGridLayoutManager但它不起作用.
我只想获得firstVisibleItem.
在LinearLayoutManager中:
int firstVisibleItem = linearLayoutManager.findFirstVisibleItemPosition(int);
Run Code Online (Sandbox Code Playgroud)
但在StaggeredGridLayoutManager中是:
int firstVisibleItem = staggeredGridLayoutManager.findFirstVisibleItemPositions(int[])
Run Code Online (Sandbox Code Playgroud)
如何使用(int)not(int [])获取firstVisibleItem?
对此有什么好的方法/实施吗?
提前致谢.
android endlessscroll staggeredgridlayout android-recyclerview
要实现Endless Scroll模式,RecyclerView我想要创建一个类
public class EndlessScrollAdapter<VH extends ViewHolder>
extends RecyclerView.Adapter<VH> implements RecyclerView.OnScrollListener {
}
Run Code Online (Sandbox Code Playgroud)
因为EndlessScrollAdapter应该负责数据和滚动事件处理,这是实现它的最方便的方法.
但是,因为在recyclerview-v7-21.0.3,这样OnScrollListener宣布
/**
* An OnScrollListener can be set on a RecyclerView to receive messages
* when a scrolling event has occurred on that RecyclerView.
*
* @see RecyclerView#setOnScrollListener(OnScrollListener)
*/
abstract static public class OnScrollListener {
/**
* Callback method to be invoked when RecyclerView's scroll state changes.
*
* @param recyclerView The RecyclerView whose scroll state has changed. …Run Code Online (Sandbox Code Playgroud) 我在nestedscrollview中有recyclerview:
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<org.apmem.tools.layouts.FlowLayout
android:id="@+id/filter_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/green_main"
android:paddingLeft="@dimen/small_horizontal_margin"
android:paddingRight="@dimen/small_horizontal_margin"
/>
<android.support.v7.widget.RecyclerView
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:scrollbars="vertical"
android:paddingTop="@dimen/vertical_margin"/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
Run Code Online (Sandbox Code Playgroud)
Recyclerview有OnScrollListener正在处理从这个例子采取无休止的滚动:https://guides.codepath.com/android/Endless-Scrolling-with-AdapterViews-and-RecyclerView.但是看起来nestedscrollview正在触发onScrolled方法,所以整个项目列表都会立即加载.
问题: 如何防止这种行为?
请注意,一切都适用于recyclerview,而不是在nestedscrollview中
android endlessscroll android-recyclerview android-nestedscrollview
到目前为止,我已经成功创建了布局并填充了所有视图.但是,我在第一个片段制作ReyclerView Endless时遇到了问题.
考虑到RecyclerView在首次加载时有10个项目,现在滚动我正在添加另外10个项目,依此类推.然而,RecyclerView没有显示那些项目,它的高度在第10个元素的末尾得到修复.我知道元素在RecyclerView中正确加载,如果我尝试用两个手指在模拟器(GenyMotion)上滚动,RecyclerView滚动就好了.
更新: -
RecyclerView的片段代码 -
public class CheckInFragmentRecyclerAdapter extends RecyclerView.Adapter<CheckInFragmentRecyclerAdapter.ViewHolder> {
final List<StoreNew> stores;
public CheckInFragmentRecyclerAdapter(final List<StoreNew> stores) {
this.stores = stores;
}
@Override
public CheckInFragmentRecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
final View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.child_check_in_fragment, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(CheckInFragmentRecyclerAdapter.ViewHolder holder, int position) {
// Setting data
}
@Override
public int getItemCount() {
return stores.size();
}
/**
* Function to clear existing data from list
* @param stores StoreNew instance containing …Run Code Online (Sandbox Code Playgroud) android android-scrollview endlessscroll android-recyclerview
我正在为RecyclerView实现无休止的数据加载.当软件检测到将显示最后一个项目时,它会下载新项目并调用该loadMoreData()函数,但不会显示新数据集.
当我打电话时notifyDataSetChanged(),没有什么事情发生.
我只有一个刷新视图的解决方案是再次设置适配器,但问题是recyclerview返回到第一个位置然后再次recyclelerview从第一个位置向上滚动到最后一个位置.
RecyclerViewActivity.java
RecyclerView rv;
DatabaseHelpr databaseHelpr;
RVAdapter adapter;
LocationFinder locationfinder;
Location currentLocation;
ArrayList<ServiceModel> childList, list;
private int MainService_ID, city_id;
String url2;
ActionBar actionBar;
JSONArray items = null;
Utility utility;
Double lat, longi;
LinearLayoutManager llm;
int counter=0;
ProgressBar progressBar;
private static final String TAG_ITEMS = "items";
private static final String TAG_LOCALITY = "Locality";
private static final String TAG_BUSINESS_ID = "Business_Id";
private static final String TAG_LONGITUDE = "Longitude";
private static final String TAG_BUSINESS_NAME = "Business_Name";
private …Run Code Online (Sandbox Code Playgroud) android notifydatasetchanged endlessscroll recycler-adapter android-recyclerview
在实施分页时.我遇到了这个问题.不滚动onscrolled方法不断调用.请检查下面的代码.
作为参考,我正在使用带有AdapterViews和RecyclerView的Endless Scrolling
还有一个演示的例子此.
我正在从API请求数据.所以我实施了凌空.安装完成后,发生了奇怪的事情 OnScrolled方法连续调用而不滚动.以下是我的代码.
HomeFragment.java
view = inflater.inflate(R.layout.fragment_home, container, false);
tvNoDataFound = (TextView) view.findViewById(R.id.tv_no_data_found);
recyclerView = (RecyclerView)view.findViewById(R.id.listView);
linearLayoutManager = new LinearLayoutManager(getActivity());
recyclerView.setNestedScrollingEnabled(false);
recyclerView.setLayoutManager(linearLayoutManager);
context = view.getContext();
// Lookup the swipe container view
swipeProjects = (SwipeRefreshLayout)view.findViewById(R.id.swipeProjects);
// Setup refresh listener which triggers new data loading
swipeProjects.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
// Your code to refresh the list here.
// Make sure you call swipeContainer.setRefreshing(false)
// once the network request has completed successfully.
getProjects(0,0); …Run Code Online (Sandbox Code Playgroud) 我在nestedscrollview内有Recyclerview,我想将nestedscrollview滚动到按钮显示加载中,然后将更多列表加载到recyclerview。
这是我的xml。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="kh.com.iknow.endless.MainActivity">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Filter"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Sort"/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:scrollbars="vertical" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我对无限滚动有疑问。每次加载更多数据时,它都会返回到顶部视图。我想要的是 RecyclerView 在加载新数据时保持在最后一个位置。\n我正在尝试实现此代码https://github.com/codepath/android_guides/wiki/Endless-Scrolling-with-AdapterViews-and-回收视图
\n\n这是无限滚动代码
\n\npublic abstract class EndlessRecyclerViewScrollListener extends RecyclerView.OnScrollListener{\n// The minimum amount of items to have below your current scroll position\n// before loading more.\nprivate int visibleThreshold = 30;\n// The current offset index of data you have loaded\nprivate int currentPage = 0;\n// The total number of items in the dataset after the last load\nprivate int previousTotalItemCount = 0;\n// True if we are still waiting for the last set of data to load.\nprivate boolean loading = true;\n// Sets …Run Code Online (Sandbox Code Playgroud) 我想实现一个无休止的RecyclerView,但到目前为止,我所遇到的所有实现和教程都描述了从服务器加载数据,然后加载数据或使用循环动态添加元素。
就我而言,我已经有一个大的ArrayList,其中包含要在RecyclerView中显示的数据。
我需要说的是,显示数组的前10个项目,加载更多后,显示下一批10。
我正在创建一个应用程序,我在其中使用Json解析来解析数据.我已经实现了listview,在我的回复中我有totalpage和current page对象,
新用户将从第一页获取项目.当用户滚动列表视图时,列表会扩展下一页中的项目(以及下一页和下一页等)
这是我的回复 http://pastie.org/10259792
以下是我尝试过的代码:
HomeFragment
public class HomeFragment extends Fragment {
// Listview Adapter
ListViewAdapter adapters;
// Connection detector
ConnectionDetector cd;
// Alert dialog manager
AlertDialogManager alert = new AlertDialogManager();
// Progress Dialog
private ProgressDialog pDialog;
// Creating JSON Parser object
JSONparserr jsonParser = new JSONparserr();
ArrayList<HashMap<String, String>> WebsiteList;
// albums JSONArray
JSONArray data = null;
String link_url;
ArrayList<HashMap<String, String>> arrayTemplist;
private AutoCompleteTextView inputSearch;
private ListView lv;
private static final String URL_ALBUMS = ""; …Run Code Online (Sandbox Code Playgroud)