为什么当我刷新我的列表它重复?

时间:2016-12-21 15:18:55

标签: android listview fragment refresh

这是我的问题: 首先,我有一个像这样的列表视图:

image1

当我点击第一行(对于exmple prod3)时,我的对话框会出现(这是删除点击的行):

image2

但是当我刷新我的片段时会发生这样的事情:

image3

为什么呢?在Android上有一个像“revalidate,repaint”(java)这样的函数吗?

当我点击行时,这是我的代码:

Application.ActiveInspector.CurrentItem.Attachments.Add("c:\temp\myfile.txt")

这是填写列表的代码:

let wordByLanguage = ["English": 5, "Spanish": 4, "Polish": 3, "Arabic": 2]

if let firstLang = wordByLanguage.first?.key {
    print(firstLang)  // English
}

编辑:

这是我的习惯用法

  public void mostraProdotto(String tito){

    final  EditText textprod;
    final  EditText prezzo;

    Button btnConf;
    Button btnDelete;
    final Dialog dialogCustom = new Dialog(getActivity());

    dialogBuilder  = new AlertDialog.Builder(getActivity());
    //process

    dialogCustom.setContentView(R.layout.spesa_pagata);
    dialogCustom.setTitle("Nome Prod");
    textprod = (EditText)dialogCustom.findViewById(R.id.textprod);
    textprod.setText(tito);
    prezzo = (EditText)dialogCustom.findViewById(R.id.txtprezzo);
    btnConf = (Button)dialogCustom.findViewById(R.id.btnConf);


    btnConf.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


            String nomeprod = textprod.getText().toString();
            String strprezzo = prezzo.getText().toString();

            if(!nomeprod.isEmpty() && !strprezzo.isEmpty()) {

       ..............


               new getSpesa().execute(); //getSpesa is for see listview
                dialogCustom.cancel();



        }

        }
    });

}

1 个答案:

答案 0 :(得分:1)

正确编写了适配器,因此问题可能在列表端。

您发布了此代码:

listView = (ListView) rootView.findViewById(R.id.list_spesa);
listView.setY(20);
adapter = new CustomListAdapterSpesa(getActivity(), movieList);
adapter.notifyDataSetChanged();
listView.setAdapter(adapter);

问题必须在于如何使用movieList,必须有类范围不是本地范围

所以你有两种可能的解决方案:

  1. 在添加其他movieList.clear();之前使用items。此方法清除之前添加的所有项目。这样,列表中的唯一项目就是新插入的项目。
  2. 您可以在使用前简单地解析list。 (这意味着本地)这样,每次调用填充list的方法时,都会重新创建对象本身。
  3. 希望这有帮助。