listview-使用shared preferences如何删除list item?

问题描述

使用shared preferences如何删除list item?
我有下面的adapter自定义类,创建了listview和items,但是我想在点击reset按钮时,从list中删除所有的items。

public class Scores extends Activity implements OnClickListener {public static final String MY_PREFS_NAME = ""PrefName"";SharedPreferences pref;static String[] tempTime = new String[10];static String[] tempScore = new String[10];private static class EfficientAdapter extends BaseAdapter {    private LayoutInflater mInflater;    public EfficientAdapter(Context context) {        mInflater = LayoutInflater.from(context);    }    public int getCount() {        return tempTime.length;    }    public Object getItem(int position) {        return position;    }    public long getItemId(int position) {        return position;    }    public View getView(int position View convertView ViewGroup parent) {        ViewHolder holder;        if (convertView == null) {            convertView = mInflater.inflate(                    R.layout.mathmatch_score_format null);            holder = new ViewHolder();            holder.text1 = (TextView) convertView                    .findViewById(R.id.time_text);            holder.text2 = (TextView) convertView                    .findViewById(R.id.score_text);            /*final ImageView deleteButton = (ImageView)                     convertView.findViewById(R.id.score_reset);            deleteButton.setOnClickListener(this);*/            convertView.setTag(holder);            //deleteButton.setTag(holder);        } else {            holder = (ViewHolder) convertView.getTag();        }        holder.text1.setText(tempTime[position]);        holder.text2.setText(tempScore[position]);        return convertView;    }    static class ViewHolder {        TextView text1;        TextView text2;    }}@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.mathmatch_score);    setUpViews();    pref = getSharedPreferences(MY_PREFS_NAME 0);    strTime = pref.getString(""high_score_times""");    intScore = pref.getString(""high_score_values""");    tempTime = strTime.split("");    tempScore = intScore.split("");    Comparator<String> comparator = new CustomArrayComparator<String String>(tempScore tempTime);    Arrays.sort(tempTime comparator);    Arrays.sort(tempScore Collections.reverseOrder());    lv.setAdapter(new EfficientAdapter(this));}private void setUpViews() {    lv = (ListView) findViewById(R.id.list);    reset = (ImageView) findViewById(R.id.score_reset);    reset.setOnClickListener(this);}   @Overrideprotected void onPause() {    super.onPause();    pref = getSharedPreferences(MY_PREFS_NAME 0);    SharedPreferences.Editor edit = pref.edit();    edit.putString(""high_score_times"" strTime);    edit.putString(""high_score_values"" intScore);    edit.commit();}@Overrideprotected void onStop() {    super.onStop();}@Overridepublic void onClick(View v) {    switch (v.getId()) {    case R.id.score_reset:        AlertDialog.Builder alertbox = new AlertDialog.Builder(this);        alertbox.setTitle(""Reset"");        alertbox.setMessage(""Are you sure all time ans score are reset?"");        alertbox.setPositiveButton(""Yes"" new DialogInterface.OnClickListener() {                     public void onClick(DialogInterface arg0 int arg1) {                         pref = getSharedPreferences(MY_PREFS_NAME 0);                        SharedPreferences.Editor edit = pref.edit();                        /*edit.remove(""high_score_times"");                        edit.remove(""high_score_values"");*/                        /*edit.remove(intScore);                        edit.remove(strTime);                        */                        //edit.clear();                        edit.remove(MY_PREFS_NAME);                        edit.commit();                             }        });                    alertbox.setNegativeButton(""No"" new DialogInterface.OnClickListener() {                     public void onClick(DialogInterface arg0 int arg1) {                Toast.makeText(getApplicationContext()'No' button clicked"" Toast.LENGTH_SHORT).show();            }        });         alertbox.show();           break;      default:        break;}}}

Reset按钮不在list中。上面的代码是点击yes按钮事件,但是没有任何更新。如何改正这个问题呢?

解决方案

EfficientAdapter adapter;//设为全局变量
当list数据改变后,需要调用adapter.notifyDataSetChanged();
这样显示才会改变.

时间: 2024-10-29 13:23:12

listview-使用shared preferences如何删除list item?的相关文章

js从select列表选项中删除一个Item项

//3.从select选项中 删除一个Itemfunction jsRemoveItemFromSelect(objSelect,objItemValue){     //判断是否存在     if(jsSelectIsExitItem(objSelect,objItemValue))     {         for(var i=0;i<objSelect.options.length;i++)         {             if(objSelect.options[i].va

android数据存储方式(二) Shared Preferences

android的数据存储有四种方式: 1.Shared Preferences 主要用于存储key-value对格式的 数据,是轻量级的存储机制,轻到只能存储基本数据类型. 2.Files 通过FileInputStream和 FileOutputStream对文件进行操作,由于在android中文件是一个应用程序私有的,所以其他应用程序无法读 写. 3.SQLite android提供的标准数据库,支持SQL语句.有关于这部分,可以见我的另一篇文 章:http://www.cnblogs.co

android-使用Shared Preferences如何把多幅图像保存在ImageView中?

问题描述 使用Shared Preferences如何把多幅图像保存在ImageView中? 在一个activity中有两个ImageViews,用户可以长按一个 ImageView ,就可以从 camera gallery 中选择获取任何图像.我想保存这些图像的路径,所以当用户再次打开或关闭程序时,图像仍在imageView中,这是为什么呢? 这是 imageView所在的Activity A : public void onActivityResult(int requestCode, in

android-获取shared preferences导致系统崩溃

问题描述 获取shared preferences导致系统崩溃 下面的activity继承ListActivity: public class TweetActivity extends ListActivity { SharedPreferences settings = this.getSharedPreferences("NewsTweetSettings", 0); @Override public void onCreate(Bundle savedInstanceState

android开发-能不能截图把listview未显示在屏幕上的item也截取

问题描述 能不能截图把listview未显示在屏幕上的item也截取 开发-能不能截图把listview未显示在屏幕上的item也截取-listview item 高度"> 我现在要做的就是点击button截图保存到相册功能,但是截出来的效果是显示所有item(包括屏幕上未加载的),在item未展开的情况下,截出来的图片上是要全部展开的效果. 求哪位大神给个思路,谢谢! 解决方案 iOS 截图 截取屏幕 解决方案二: 那你自己写吧,或者你捕捉截屏动作,先展开 解决方案三: 就是要在没展开的

Shared Preferences KEY_FIRST_RUN 不能在 android 1.6上运行

问题描述 Shared Preferences KEY_FIRST_RUN 不能在 android 1.6上运行 我使用下面的代码来检查应用程序是否是第一次运行: SharedPreferences pref = getPreferences(MODE_PRIVATE); if (!pref.contains(KEY_FIRST_RUN)) { Some operation } pref.edit().putBoolean(KEY_FIRST_RUN, false).commit(); 除了 a

移动开发-大神们求教自定义listview固定头部和尾部不动中间item数据可以上下滑动。

问题描述 大神们求教自定义listview固定头部和尾部不动中间item数据可以上下滑动. 求教自定义listview固定头部和尾部不动中间item数据可以上下滑动,最好是能封装成一个view开发-大神们求教自定义listview固定头部和尾部不动中间item数据可以上下滑动.-listview滑动隐藏头部"> 解决方案 在listview中加入header 和footer. 在listview里面有的 public void addHeaderView (View v) public v

能不能在listview中监听插入删除的事件?

问题描述 能不能在listview中监听插入删除的事件? 能不能在listview中监听插入删除的事件?怎么在listview修改的时候发消息出去给主界面? 解决方案 ListView的监听事件ListView事件监听Listview监听事件的随笔.... 解决方案二: listview监听删除事件应该是监听适配器布局里面的某个控件吧,删除操作成功后,调用activity或者fragment请求数据的代码方法 重新给listview赋值就好了啊

代码-ListView 同一时刻只能点击一个item,并防止一个item被快速点击

问题描述 ListView 同一时刻只能点击一个item,并防止一个item被快速点击 一个listview,当有一个item被选中了,让其他的item就不能有点击事件,并且不能让一个item被快速点击两次,我现在的点击item是跳转到a,所以在快点的时候会进入两次a,同时选中两个,或者快速选中两个也会全都跳转a,我想要的效果是,listview的item点击事件相当于单选,只要有一个被选中其他不做响应,求指教,最好贴出代码 解决方案 ListView 禁止Item被点击 解决方案二: 把act