Android 保证listview中的在getview中,保证setText成功设置
来源:互联网 发布:淘宝卖出的钱在哪里 编辑:程序博客网 时间:2024/05/21 06:34
在做项目中,我想让listview只是在开始加载adapter的时候,调用setText这个方法,来显示textview上的文字(数据中数据库调用)。而后,我在长按item后,弹出一个对话框,
点击“编辑”。此时,会立马更新adapter,也就是重新调用getview。
点击确认后,会再次更新adapter,也就是重新调用getview。
也就是你如果setview的效果只会一闪而过。又会重新显示出之前,你在数据库中调用的数据。
解决办法:
你需要设置一个静态标志位变量aflag。初始化aflag=true;代码如下:
if(aflag){ holder.searchname.setText((String)list.get(position).get("showcontentname"));} if (itemClicked&&count==position) {holder.searchname.setText(changename);itemClicked=false; }
//长按处理@Overridepublic boolean onItemLongClick(AdapterView<?> arg0, final View arg1, final int position,long arg3) {// TODO Auto-generated method stubcount=position;//保证你设置的item项是一一对应的final Builder b=new AlertDialog.Builder(activity);b.setTitle("请选择用户操作!").setItems(new String[]{"编辑","删除","连接"}, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubswitch (which) {case 0:PopEditTextToChangeName(arg1,position);break;case 1:break;case 2:break;default:break;}}}).create().show();return true;}下面是:弹出对话改名字:
/** * 弹出编辑框来修改名字 * @param arg1 * @param position */private void PopEditTextToChangeName(View arg1, final int position) {// TODO Auto-generated method stubView view=inflater.inflate(R.layout.hsp_editname, null);//MyDiagClickListener myl=new MyDiagClickListener(view,arg1,position);new AlertDialog.Builder(activity).setTitle("请输入修改账户!").setView(view).setPositiveButton("确定", new MyDiagClickListener(view,arg1,position)).setNegativeButton("取消",null).create().show();}最关键的标志位设置就在MyDiagListener(类中:
class MyDiagClickListener implements DialogInterface.OnClickListener{private View view;private View arg1;private int position;public MyDiagClickListener(View view, View arg1, int position) {// TODO Auto-generated constructor stubthis.view=view;this.arg1=arg1;this.position=position;}@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubEditText name=(EditText) view.findViewById(R.id.editname);changename=name.getText().toString();//Log.e("changename",changename);if(changename.equals("")){Toast toast=Toast.makeText(activity, "名字不能为空,请重新输入!", Toast.LENGTH_SHORT);toast.setGravity(Gravity.TOP, 0, 450);toast.show();//break;//changename=}else{aflag=false;//此处设置为falseitemClicked=true;//TextView settext;//settext=(TextView)arg1.findViewById(R.id.hsp_favorite_displayname);/*Message m=new Message();m.what=3; myHandlerMesage.sendMessage(m);*///settext.setText(changename.trim());//this.notifyDataSetChanged();UpDateShowContentName(position);//flag=false;}//return true;}
当然要记住,为了保证下次可以继续调用:
if(aflag){ holder.searchname.setText((String)list.get(position).get("showcontentname"));}你必须在下次调用之前将aflag=true;
我是在调用这个adapter中的onCreate中设置的、代码如下:
@Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); HspfragfavoriteAdapter.aflag=true; }
0 0
- Android 保证listview中的在getview中,保证setText成功设置
- 保证WebBrowser中的url跳转始终在WebBrowser中 (转)
- android:ListView中的getView原理
- android:ListView中的getView原理
- android:ListView中的getView原理
- 在scrollview中子布局中包含listview如何保证listview高度
- 保证SetForegroundWindow成功
- 保证SetForegroundWindow执行成功
- Android-关于一个界面同级中需要两个listView时,一个ListView被嵌套在ScrollView中,ListView的适配器adapter中的getView执行次数重复问题
- android中ListView或GridView出现在adapter中的getView出现多次position为0的情况
- Net 如保证ListView增加一项后滚动条保证在最底部
- Android中ListView中getView的原理&如何在ListView中放置多个item
- android 中保证进程不被杀死
- android 中保证进程不被杀死
- [Android] ListView中getView的原理+如何在ListView中放置多个item
- [Android] ListView中getView的原理+如何在ListView中放置多个item
- [Android] ListView中getView的原理+如何在ListView中放置多个item
- [Android] ListView中getView的原理+如何在ListView中放置多个item
- V4L2用户空间和kernel层driver的交互过程
- APK反编译得到UI资源
- MonkeyTalk自动化之——Scripting in JavaScript
- 【iOS开发-35】有了ARC内存管理机制,是否还需要担心内存溢出等问题?——面试必备
- android launchmodel的使用
- Android 保证listview中的在getview中,保证setText成功设置
- mac 下javaHL的解决 no svnjavahl in java.library.path
- 常见算法笔试或面试题
- Java判断字符串是否是乱码
- Struts-2.1翻译及源文件
- sql语句里的limit使用方法
- mysql优化(一)
- ubuntu12.04 ros开源库安装教程
- Lucene4.3搜索引擎开发之路分享