当前位置: 首页 > news >正文

0基础学习网站开发专业做网站服务

0基础学习网站开发,专业做网站服务,深圳设计公司名字,《网站开发实例》pdf下载问题简介 在学习开发android过程中#xff0c;遇到了一个似乎很普遍的问题。当我们在初始化通过adapter将Listview和对应的Arraylist 数据data绑定时#xff0c;在后面的data更新后#xff0c;理论上使用adapter.notifyDataSetChanged()方法就可以让adapter自动更新Arrayli…问题简介 在学习开发android过程中遇到了一个似乎很普遍的问题。当我们在初始化通过adapter将Listview和对应的Arraylist 数据data绑定时在后面的data更新后理论上使用adapter.notifyDataSetChanged()方法就可以让adapter自动更新Arraylist列表但是实际上我们在对data更新之后并不能完成对视图中ListView的更新问bing问了一通也没问出啥解决方法最后还是查了半天才明白咋回事。。。 结论 解决方法① 可能是最有效的解决方法 将更新后的数据data和视图ListView与适配器adapter重新绑定 即调用绑定时的方法 datanew_data;//有数据更新 adapternew ArrayAdapterString(getActivity(),android.R.layout.simple_list_item_1,data); listView.setAdapter(adapter);解决方法② 对于Arraylist类型的数据data只在原对象上修改不能重新赋值因为重新赋值实质上改变了data所指向的对象导致adapter的绑定出现问题,这可能也是notifyDataSetChanged()一个使用条件。 data.add(123);//数据更新 //不能datanew_data; adapter.notifyDataSetChanged();下面可以不用看啦 代码分析 package com.example.test.ui.slideshow;import static java.lang.System.out;import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ListView; import android.widget.Toast;import androidx.annotation.NonNull; import androidx.fragment.app.Fragment;import com.example.test.R;import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.Arrays;public class SlideshowFragment extends Fragment implements View.OnClickListener {//private Integer[] data{1,2,3,5,65,6,7,4,4,6,44,33,9,6,6,49491,85,5,6,2,25,51,25,20,2};private String[] ori_data{test_keyword1,test_keyword2,test_keyword3,test_keyword4,test_keyword1,test_keyword2,test_keyword3,test_keyword4,test_keyword1,test_keyword2,test_keyword3,test_keyword4,test_keyword1,test_keyword2,test_keyword3,test_keyword4};private ArrayListString data new ArrayList(Arrays.asList(ori_data));private ArrayAdapterString adapternull;private ListView listView;public View onCreateView(NonNull LayoutInflater inflater,ViewGroup container, Bundle savedInstanceState) {super.onCreate(savedInstanceState);View view inflater.inflate(R.layout.fragment_email,container,false);listView(ListView) view.findViewById(R.id.list_email);adapternew ArrayAdapterString(getActivity(),android.R.layout.simple_list_item_1,data);listView.setAdapter(adapter);//单击每个item进行编辑listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {Overridepublic void onItemClick(AdapterView? parent, View view, int position, long id) {edit_item(position,adapter);}});listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {Overridepublic boolean onItemLongClick(AdapterView? parent, View view, int position, long id) {del_item(position,adapter);return true; // 返回true表示已经处理了长按事件不会触发单击事件}});view.findViewById(R.id.btn_add).setOnClickListener(this);view.findViewById(R.id.btn_sync).setOnClickListener(this);view.findViewById(R.id.btn_save).setOnClickListener(this);view.findViewById(R.id.btn_submit).setOnClickListener(this);return view;}Overridepublic void onClick(View v) {if(v.getId()R.id.btn_add){edit_item(data.size(), adapter);}else if(v.getId()R.id.btn_sync){//从服务器将数据同步到客户端dataload();adapternew ArrayAdapterString(getActivity(),android.R.layout.simple_list_item_1,data);listView.setAdapter(adapter);Toast.makeText(getActivity(),已成功加载,Toast.LENGTH_SHORT).show();}else if(v.getId()R.id.btn_save){save();Toast.makeText(getActivity(),已成功保存,Toast.LENGTH_SHORT).show();}else if(v.getId()R.id.btn_submit){}}private void save(){FileOutputStream outnull;BufferedWriter writernull;try{out getActivity().openFileOutput(test_datasave.txt, Context.MODE_PRIVATE);writernew BufferedWriter(new OutputStreamWriter(out));for (String str : data) {writer.write(str);writer.write(\n);}} catch (IOException e) {e.printStackTrace();}finally {try{if(writer!null){writer.close();}} catch (IOException e) {e.printStackTrace();}}}private ArrayListString load(){ArrayListString datanew ArrayList();FileInputStream in null;BufferedReader readernull;try{ingetActivity().openFileInput(test_datasave.txt);readernew BufferedReader(new InputStreamReader(in));String line;while((linereader.readLine())!null){data.add(line.toString());}} catch (FileNotFoundException e) {e.printStackTrace();Toast.makeText(getActivity(),未找到文件,Toast.LENGTH_SHORT).show();} catch (IOException e) {e.printStackTrace();}finally {if(reader!null){try{reader.close();}catch(IOException e){e.printStackTrace();}}}return data;}//用于弹出dialog 并修改其中的某一项private void edit_item(int postition,ArrayAdapterString adapter){AlertDialog.Builder dialognew AlertDialog.Builder(getActivity());dialog.setTitle(编辑);EditText editTextnew EditText(getActivity());editText.setHint(请键入新的关键词);dialog.setView(editText);dialog.setPositiveButton(确认, new DialogInterface.OnClickListener() {Overridepublic void onClick(DialogInterface dialog, int which) {final String inputTexteditText.getText().toString();if(data.size()postition){data.add(inputText);}else data.set(postition,inputText);adapter.notifyDataSetChanged();}});dialog.show();}//用于弹出一个dialog,用于确认删除其中的某一项private void del_item(int postition,ArrayAdapterString adapter){AlertDialog.Builder dialognew AlertDialog.Builder(getActivity());dialog.setTitle(删除);dialog.setMessage(确认删除这一项?);dialog.setPositiveButton(确认, new DialogInterface.OnClickListener() {Overridepublic void onClick(DialogInterface dialog, int which) {data.remove(postition);adapter.notifyDataSetChanged();}});dialog.setNegativeButton(取消, new DialogInterface.OnClickListener() {Overridepublic void onClick(DialogInterface dialog, int which) {}});dialog.show();} }
http://www.w-s-a.com/news/558335/

相关文章:

  • 做美食软件视频网站大数据精准营销策略
  • 网站后台密码错误陕西大型网站建设
  • 网站建站中关键字搜索怎么弄wordpress 后台插件无法访问
  • 做减肥餐的网站网站优化注意事项
  • 做网站做推广有效果吗专门做淘宝优惠券的网站
  • 菜谱网站开发系统ps做网页效果图
  • 徐州品牌网站建设wordpress多重筛选页面
  • 网站改版提示无需改版个人怎么申请微信小程序
  • 电子商务网站建设的简要任务执行书可以注册免费网站
  • 公司网站设计需要什么豪爵铃木摩托车官网
  • 建收费网站合肥地区网站制作
  • 自己做头像网站小网站建设公司
  • 电子商务建设与网站规划wordpress linux安装
  • wordpress新手建站win8网站模版
  • 网站的简单布局孝感 商务 网站建设
  • 湖北手机版建站系统价格优化网站内容
  • 网站后台登录不显示验证码软文发布网站
  • 企业微网站建设方案收费的网站如何免费
  • 平昌县建设局网站中国500强企业有哪些
  • 网站开发制作的流程是什么网页打不开显示不安全怎么办
  • 网络网站开发设计安徽建设工程信息网怎么打不开了
  • 百度网站推广申请深圳公众号制作
  • 百度站长怎么做网站维护中国深圳航空公司官网
  • xampp安装网站模板海南一家天涯社区
  • 网站建设 管理系统开发仿租号网站源码网站开发
  • 怎么自己弄网站免费网站设计用什么软件
  • 网站分几种access做网站数据方法
  • 网站默认图片s001网站建设公司
  • 淘宝的电子商务网站的建设东莞哪里有网站制作公司
  • 西安网站制作怎么联系wordpress登陆界面打开慢