Android 你不在碎片中工作吗?
斯威士兰没有在碎片中工作。 我的xml代码:Android 你不在碎片中工作吗?,android,android-fragments,swiperefreshlayout,Android,Android Fragments,Swiperefreshlayout,斯威士兰没有在碎片中工作。 我的xml代码: <?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pagerefresh" android:layout_width="match_parent" android:l
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pagerefresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical" /></android.support.v4.widget.SwipeRefreshLayout>
getProgressData()函数&它对您更有帮助
private void getProgressData(){
String token = SharedPreferencesManager.readPreferenceString("token", "D/N");
JSONObject progressData = new JSONObject();
try{
progressData.put("token", token);
JsonObjectRequest progressObject = new JsonObjectRequest(1, Common.OrderDetails + "progress", progressData, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject progressResponse) {
Log.d("Responseprogress", progressResponse.toString());
try {
int status = progressResponse.getInt("status");
if(status == 1) {
progressOrderProgress(progressResponse);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
Log.d("Response", "PROGRESS ERROR");
}
});
progressObject.setShouldCache(false);
ServiceBellApp.getInstance().addToRequestQueue(progressObject);
}
catch (JSONException localJSONException){
localJSONException.printStackTrace();
return;
}
}
private void progressOrderProgress(JSONObject progressResponse) throws JSONException {
JSONArray result = progressResponse.getJSONArray("orderdata");
for(int i=0; i<result.length(); i++){
OrderList orderListModule = new OrderList();
JSONObject orderData = null;
try {
orderData = result.getJSONObject(i);
orderListModule.setPackage_name(orderData.getString("name"));
orderListModule.setOrderdate(orderData.getString("date"));
orderListModule.setServicedate(orderData.getString("service"));
orderListModule.setServicetime(orderData.getString("time"));
orderListModule.setOrderid(orderData.getString("id"));
orderListModule.setOrdstatus(orderData.getString("status"));
orderListModule.setOrderamount(orderData.getInt("ramount"));
}catch (JSONException e) {
e.printStackTrace();
}
orderLists.add(orderListModule);
}
swipeRefreshLayout.setRefreshing(false);
adapter.notifyDataSetChanged();
}
private void getProgressData(){
String token=SharedReferencesManager.readPreferenceString(“标记”、“D/N”);
JSONObject progressData=新的JSONObject();
试一试{
progressData.put(“令牌”,令牌);
JsonObjectRequest progressObject=新的JsonObjectRequest(1,Common.OrderDetails+“progress”,progressData,new Response.Listener(){
@凌驾
公共void onResponse(JSONObject progressResponse){
Log.d(“Responseprogress”,progressResponse.toString());
试一试{
int status=progressResponse.getInt(“status”);
如果(状态==1){
progressOrderProgress(progressResponse);
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
错误。printStackTrace();
Log.d(“响应”、“进度错误”);
}
});
progressObject.setShouldCache(false);
ServiceBellApp.getInstance().addToRequestQueue(progressObject);
}
catch(JSONException localJSONException){
localJSONException.printStackTrace();
返回;
}
}
私有void progressOrderProgress(JSONObject progressResponse)抛出JSONException{
JSONArray result=progressResponse.getJSONArray(“orderdata”);
对于(int i=0;imSwipeRefreshLayout=(swiperFreshLayout)view.findViewById(R.id.swiperFresh);
mSwipeRefreshLayout.setOnRefreshListener(新的SwipeRefreshLayout.OnRefreshListener()){
@凌驾
公共void onRefresh(){
mArrayList=newarraylist();
mSwipeRefreshLayout.post(新的Runnable(){
@凌驾
公开募捐{
mSwipeLayout=true;
mSwipeRefreshLayout.setRefreshing(true);
getNear();
}
}
);
}
});
public void getNear(){
latLongSevenKms();
mSwipeRefreshLayout.setRefreshing(true);
}
使用:
LinearLayoutManager mm=新的LinearLayoutManager(此,LinearLayoutManager.VERTICAL,false);
recyclerView.setLayoutManager(mm);
了解这个基本流程在代码中看到了什么您已经做了所有的事情,只遗漏了一件事
您请求获取新数据,然后将其添加到orderlist.add(orderListModule);
中,然后调用adapter.notifyDataSetChanged();
这里是问题您应该使用新数据集调用这里的set adatpter,而不是notifyDataSetChanged()
@覆盖
创建时的公共void(Bundle savedInstanceState){
...
setAdapter();
mSwipeRefreshLayout.setOnRefreshListener(新的SwipeRefreshLayout.OnRefreshListener()){
@凌驾
公共void onRefresh(){
刷新内容();
...
}
//伪造网络操作的延迟响应
//这只是为了演示,不是真正的代码!
私有无效刷新内容(){
new Handler().postDelayed(new Runnable()){
@凌驾
公开募捐{
mAdapter=newarrayadapter(MainActivity.this,android.R.layout.simple_list_item_1,getnewweets());
mListView.setAdapter(mAdapter);
mSwipeRefreshLayout.setRefresh(false);
});
}
//得到新的猫名。
//通常这是使用异步任务调用Web服务,
//或数据库操作
私有列表getNewCatNames(){
List newCatNames=new ArrayList();
对于(int i=0;i
更新:在您的代码中
private void progressOrderProgress(JSONObject progressResponse) throws JSONException {
JSONArray result = progressResponse.getJSONArray("orderdata");
for(int i=0; i<result.length(); i++){
OrderList orderListModule = new OrderList();
JSONObject orderData = null;
try {
orderData = result.getJSONObject(i);
orderListModule.setPackage_name(orderData.getString("name"));
orderListModule.setOrderdate(orderData.getString("date"));
orderListModule.setServicedate(orderData.getString("service"));
orderListModule.setServicetime(orderData.getString("time"));
orderListModule.setOrderid(orderData.getString("id"));
orderListModule.setOrdstatus(orderData.getString("status"));
orderListModule.setOrderamount(orderData.getInt("ramount"));
}catch (JSONException e) {
e.printStackTrace();
}
orderLists.add(orderListModule);
}
swipeRefreshLayout.setRefreshing(false);
adapter = new ProgressOrderListAdapter(orderLists, getActivity());
recyclerView.setAdapter(adapter);
}
private void progressOrderProgress(JSONObject progressResponse)抛出JSONException{
JSONArray result=progressResponse.getJSONArray(“orderdata”);
对于(int i=0;ishowgetProgressData()
函数这是我的JSONObject请求函数显示您如何设置适配器……请显示您的完整代码。很好,我还需要一件事listview.setadapter?不工作。我将Log.d(“刷新”,“工作”);放在mSwipeRefreshLayout.post(新的Runnable(){}no log DispalyId是否将布局设置为RecyclerView?将LayoutManager添加到Recycler视图中。它已在我的代码RecyclerView.setLayoutManager(新的LinearLayoutManager(getActivity())中可用;您正在使用Volley,是否初始化了RequestQueue?我已添加了RecyclerView.setAdapter(adapter);在onCreateView()functionadapter=新适配器(…);recyclerView.setAdapter(适配器);获取新值后,我的值显示正确,但SwiperFresh仅不起作用
@Override
public void onCreate(Bundle savedInstanceState) {
...
listView.setAdapter();
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
refreshContent();
...
}
// fake a network operation's delayed response
// this is just for demonstration, not real code!
private void refreshContent(){
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, getNewTweets());
mListView.setAdapter(mAdapter);
mSwipeRefreshLayout.setRefreshing(false);
});
}
// get new cat names.
// Normally this would be a call to a webservice using async task,
// or a database operation
private List<String> getNewCatNames() {
List<String> newCatNames = new ArrayList<String>();
for (int i = 0; i < mCatNames.size(); i++) {
int randomCatNameIndex = new Random().nextInt(mCatNames.size() - 1);
newCatNames.add(mCatNames.get(randomCatNameIndex));
}
return newCatNames;
}
private void progressOrderProgress(JSONObject progressResponse) throws JSONException {
JSONArray result = progressResponse.getJSONArray("orderdata");
for(int i=0; i<result.length(); i++){
OrderList orderListModule = new OrderList();
JSONObject orderData = null;
try {
orderData = result.getJSONObject(i);
orderListModule.setPackage_name(orderData.getString("name"));
orderListModule.setOrderdate(orderData.getString("date"));
orderListModule.setServicedate(orderData.getString("service"));
orderListModule.setServicetime(orderData.getString("time"));
orderListModule.setOrderid(orderData.getString("id"));
orderListModule.setOrdstatus(orderData.getString("status"));
orderListModule.setOrderamount(orderData.getInt("ramount"));
}catch (JSONException e) {
e.printStackTrace();
}
orderLists.add(orderListModule);
}
swipeRefreshLayout.setRefreshing(false);
adapter = new ProgressOrderListAdapter(orderLists, getActivity());
recyclerView.setAdapter(adapter);
}