求助一个比较难的问题

cnaaa8 cnaaa8 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
adapter调用 notifyDataSetChanged 不会更新


package com.gift.android.travel.fragment;

import java.util.ArrayList;

import java.util.List;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import com.gift.android.R;
import com.gift.android.Utils.HttpUtils;
import com.gift.android.Utils.ImageCache;
import com.gift.android.Utils.Utils;
import com.gift.android.travel.fragment.base.BaseTravelFragment;
import com.gift.android.travel.model.PhotoWallJson;
import com.gift.android.travel.model.PhotoWallList;

import com.gift.android.widget.pulltorefreshlistview.PullToRefreshBase;
import com.gift.android.widget.pulltorefreshlistview.PullToRefreshBase.OnRefreshListener2;
import com.gift.android.widget.pulltorefreshlistview.PullToRefreshGridView;
import com.google.gson.Gson;

/**
* 目的地 -照片墙
*
* @author duanzheng
*
*/

public class microtravelDetailiInfoPhotoWallFragment extends BaseTravelFragment
implements OnRefreshListener2<GridView> {
private LayoutInflater inflater;
private View mtdipw;
private PullToRefreshGridView gv;

private int pageIndex = 1;
private int pageSize = 15;

private gvadapter adapter;
private PhotoWallJson photoWallJson;
private List<PhotoWallList> list;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
this.inflater = inflater;
mtdipw = inflater.inflate(
R.layout.microtravel_detaili_info_photowall_fragment, null);
return super.onCreateView(inflater, container, savedInstanceState);
}

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// TODO Auto-generated method stub
setContentView(mtdipw);
findbyid();
initView();
getDate(true);
super.onViewCreated(view, savedInstanceState);
}

private void getDate(boolean isStartAnimator) {
String args = String.format("&destId=%s&version=%s", "3559", "1.0.0");
if (isStartAnimator) {
loading.doGet(
"http://192.168.0.64/api/router/rest.do?method=api.com.trip.dest.pic"
+ args, "api.com.trip.dest.pic", 0, "", this);
} else {
HttpUtils.getInstance().doGet(
"http://192.168.0.64/api/router/rest.do?method=api.com.trip.dest.pic"
+ args, "api.com.trip.dest.pic", 0, "", this);
}

}

public void requestFinished(String response, String method) {
Log.i("test", "response:" + response);

Gson gson = new Gson();
photoWallJson = gson.fromJson(response, PhotoWallJson.class);

if (photoWallJson.code == 1) {
if (photoWallJson.data != null && photoWallJson.data.list != null
&& photoWallJson.data.list.size() > 0) {

Log.i("test", "更新前list:" + list.size());
//for(int i=0;i<30;i++){
list.addAll(photoWallJson.data.list);
//}
Log.i("test", "更新后list:--->" + list.size());
gv.setLastPage(photoWallJson.data.hasNext);
if (!photoWallJson.data.hasNext) {
pageIndex++;
}
Log.i("test", "开始更新数据");
adapter.notifyDataSetChanged();//这一行执行后不会更新,list已经改变
}
}

gv.onRefreshComplete();
}

public void requestFailure(Throwable t, String method) {
if (gv != null) {
gv.onRefreshComplete();
}
Utils.showToast(getActivity(), R.drawable.face_fail,
"哎呀,网络不给力\n请稍后再试试吧", 0);
}

private void initView() {
list = new ArrayList<PhotoWallList>();

adapter = new gvadapter(getActivity(), list);
gv.setAdapter(adapter);

gv.setOnRefreshListener(this);

}

private void findbyid() {
gv = (PullToRefreshGridView) mtdipw.findViewById(R.id.gv);
}

class gvadapter extends BaseAdapter {
private Context mContext;
// private List<PhotoWallList> list = new ArrayList<PhotoWallList>();

/*
* public List<PhotoWallList> getList() { return list; }
*/
private List<PhotoWallList> mList;

public gvadapter(Context context, List<PhotoWallList> list) {
super();
Log.i("test", "进来:" + list.size());
this.mContext = context;
this.mList = list;
// TODO Auto-generated constructor stub
}

@Override
public int getCount() {
// TODO Auto-generated method stub
//return (mList != null ? mList.size() : 0);
return (mList != null && mList.size()>0 ? 20 : 0);
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mList.get(position);
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = View.inflate(mContext,
R.layout.microtravel_detaili_info_photowall_item, null);
holder.iv = (ImageView) convertView.findViewById(R.id.iv);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}

/*ImageCache
.display(
"http://s0.hao123img.com/res/r/image/2014-09-23/0e348339febbb4eb0c3ceeba26067a1b.jpg",
holder.iv, R.drawable.coverdefault);*/

holder.iv.setBackgroundResource(R.drawable.coverdefault_170);


return convertView;
}

}

class ViewHolder {
ImageView iv;
}

@Override
public void onPullDownToRefresh(PullToRefreshBase<GridView> refreshView) {
// TODO Auto-generated method stub
getDate(false);
pageIndex = 1;
}

@Override
public void onPullUpToRefresh(PullToRefreshBase<GridView> refreshView) {
// TODO Auto-generated method stub
if (gv.isLastPage()) {
gv.onRefreshComplete();
} else {
getDate(false);
}
}

}








<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#F1F1F1" />

<com.gift.android.widget.pulltorefreshlistview.PullToRefreshGridView xmlns:ptr="http://schemas.android.com/apk/res/com.gift.android"
android:id="@+id/gv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:horizontalSpacing="5dp"
android:listSelector="@null"
android:numColumns="3"
android:scrollbars="none"
android:verticalSpacing="5dp"
ptr:ptrMode="both" >
</com.gift.android.widget.pulltorefreshlistview.PullToRefreshGridView>

</LinearLayout>
...全文

相关推荐

技术转移机构如何基于数据提升项目撮合精准度?.docx

技术转移机构如何基于数据提升项目撮合精准度?

BIZKEEN

超扭滑模与快速终端滑模的永磁同步电机无感控制:理论、离散化实现与仿真研究(Simulink仿真实现)

内容概要:本文系统研究了超扭滑模控制(STSMC)与快速终端滑模控制(FTSMC)在永磁同步电机(PMSM)无感控制中的应用,重点涵盖其理论基础、离散化实现方法及Simulink仿真验证。文章深入阐述了两种高阶滑模控制策略的设计原理,利用磁链无感观测技术实现转子位置与速度的精确估计,从而省去物理传感器,有效提升了系统的可靠性与鲁棒性。同时,提供了完整的Simulink仿真模型构建方案,包括控制器设计、关键参数整定及动态响应性能分析,充分验证了所提出的方法在零速与低速工况下的卓越控制性能和有效性。; 适合人群:具备电机控制、现代控制理论基础知识及熟练掌握MATLAB/Simulink仿真技能的研究生、科研人员与工程技术人员。; 使用场景及目标:①深入理解高阶滑模控制在电机驱动系统中的设计思想与具体实现;②掌握基于滑模观测器的无感控制核心技术;③开展永磁同步电机高性能控制算法的理论研究、仿真验证与工程化探索。; 阅读建议:建议将文中详尽的理论推导与Simulink仿真模型相结合进行学习,重点关注滑模面的构建、抖振抑制策略的实施以及离散化处理的细节,有条件的研究者可进一步将算法移植到DSP等硬件平台进行实验验证,以深化对理论的理解并检验其实际应用效果。

长安程序猿

多源动态最优潮流的分布鲁棒优化方法(IEEE118节点)(Matlab代码实现)

内容概要:本文系统阐述了基于Matlab的多源动态最优潮流分布鲁棒优化方法,聚焦于IEEE118节点电力系统,旨在应对高比例可再生能源接入背景下源荷双重不确定性所带来的调度挑战。该方法深度融合分布鲁棒优化理论,通过构建能够抵御最坏情况概率分布的决策模型,有效提升了电力系统在复杂不确定性环境下的运行安全性、经济性与可靠性。研究不仅提供了完整的Matlab代码实现,便于结果复现与算法验证,还特别关注了含风电等新能源的现代电网低碳调度问题,为解决实际工程中的优化调度难题提供了强有力的理论支撑和技术工具。; 适合人群:具备电力系统分析基础和Matlab编程能力的研究生、科研人员及从事智能电网优化运行、能源系统规划等相关领域的工程技术人员。; 使用场景及目标:①研究含高比例可再生能源接入的电力系统动态最优潮流问题;②掌握分布鲁棒优化在电力系统经济调度、低碳调度中的建模思想与求解方法;③利用IEEE118标准测试系统进行算法有效性验证与性能对比分析;④基于所提供的Matlab代码进行二次开发,探索新型不确定性优化理论在电力系统中的创新应用。; 阅读建议:建议读者结合电力系统最优潮流、不确定性优化理论(特别是分布鲁棒优化)的背景知识进行学习,重点关注模型的构建逻辑、目标函数与约束条件的设计原理,以及Matlab代码的具体实现细节。在学习过程中,应动手调试代码,尝试修改系统参数(如新能源出力波动范围、负荷水平等),以观察不同场景下优化结果的变化,从而深刻理解该方法的适应性、优势及其潜在的局限性。

天天程序猿

车间调度基于GA、PSO、SA、ACO、TS优化算法的车间调度比较研究(Matlab代码实现)

内容概要:本文系统性地比较了遗传算法(GA)、粒子群优化(PSO)、模拟退火(SA)、蚁群优化(ACO)和禁忌搜索(TS)五种智能优化算法在车间调度问题中的性能表现,并提供了基于Matlab的完整代码实现。研究聚焦于调度优化的核心目标——最小化完工时间(makespan),通过标准测试案例对各算法的收敛速度、求解精度和稳定性进行了深入对比分析,旨在为实际生产调度中算法的选择与改进提供科学依据。文中不仅详述了每种算法的设计思路与关键参数设置,还展示了其实现逻辑,便于读者理解、复现与拓展。; 适合人群:从事智能制造、工业工程、运筹优化等相关领域的研究人员,以及具备Matlab编程基础、希望将智能优化算法应用于实际调度问题的研究生和工程师。; 使用场景及目标:① 掌握主流智能优化算法在解决NP-hard车间调度问题上的具体应用与差异;② 学习如何利用Matlab实现并对比不同优化算法的性能;③ 为解决生产制造、物流配送等领域中的资源调度难题提供算法选型和技术参考。; 阅读建议:建议读者在阅读时重点关注各算法的Matlab实现代码和实验结果对比部分,动手运行代码以直观感受不同算法的寻优过程和效果差异。同时,可结合具体调度约束条件,尝试调整算法参数或融合多种算法思想,以深化对优化机理的理解。

天天程序猿

3D人物伍子胥智能对话及反应动作报告

3D人物伍子胥智能对话及反应动作报告

atye115
评论 3
收藏 已收藏
分享
返回顶部
cnaaa8
Android 80,490 成员 91,375 内容