java - 我无法从 ListView 中删除项目

标签 java android

我使用共享首选项将数据从一个 ListView 传递到另一个 ListView 。我可以写入项目,但无法删除其中的项目。我没有错误,但没有结果。

我的 Activity

final DataProvider[] providers = gson.fromJson(jsonurun, DataProvider[].class);
final List<DataProvider> list = Arrays.asList(providers);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            final DataProvider dataProvider = (DataProvider) adapterView.getItemAtPosition(i);
            AlertDialog.Builder builder = new AlertDialog.Builder(Listele1.this);
            builder.setMessage("Silinsin mi ?")
                    .setCancelable(false)
                    .setPositiveButton("EVET", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            List<DataProvider> list1 = new ArrayList<DataProvider>(list);//list from 2nd line
                            list1.remove(dataProvider);
                            prefAdapter.notifyDataSetChanged();
                            prefAdapter.notifyDataSetInvalidated();
                        }
                    })

我的自定义适配器是PrefAdapter

List<DataProvider> list ;

public PrefAdapter(@NonNull Context context, List<DataProvider> list) {
    super(context, R.layout.child_layout,list);
    this.list = list;
}

static class LayoutHandler{
    TextView ad,fiyat;
}

@Override
public void add(DataProvider dataProvider) {
    super.add(dataProvider);
    notifyDataSetChanged();
}

@Override
public void remove(DataProvider object) {
    super.remove(object);
    notifyDataSetChanged();
}

最佳答案

不要创建list1,或者如果您出于某种原因需要它,则需要用它重新创建适配器

您应该像这样创建第一个列表,以便可以从中删除

list = new ArrayList<>(Arrays.asList(providers)):

关于java - 我无法从 ListView 中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44620005/

相关文章:

java - 使用谷歌播放服务时出现安卓磨损错误

Java套接字: How to bind a specific local address to a Socket without a port number specified

java - 如何将ListActivity转换为AppCompatActivity

android - 带有拆分 ActionBar 的 ShareActionProvider

android - 屏幕锁定时如何使用 Intent 打开相机应用程序?

android - 飞行模式在真实设备中不启用

java - 客户 APP 演示应用程序 Keycloak

java - 后退按钮工作时操作栏主页按钮崩溃

java - Java Base64 编码的 Ruby Base64 编码

java - 如何根据微调器值将音频保存在SD卡中