如何在Android上从Listview删除项目

埃姆雷·特金(Emre Tekin)

我想长按一下以删除项目。首先ı想获得位置,然后ı要删除任何物品。我的主要活动

public class MainActivity extends AppCompatActivity {

    final List<Kisi> kisiler = new ArrayList<Kisi>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        kisiler.add(new Kisi("Ahmet Yılmaz", false, 0));
        kisiler.add(new Kisi("Ayşe Küçük", true, 1));
        kisiler.add(new Kisi("Fatma Bulgurcu", true, 2));
        kisiler.add(new Kisi("İzzet Altınmeşe", false, 3));
        kisiler.add(new Kisi("Melek Subaşı", true, 4));
        kisiler.add(new Kisi("Selim Serdilli", false, 5));
        kisiler.add(new Kisi("Halil İbrahim", false, 6));

        final ListView listemiz = (ListView) findViewById(R.id.liste);
        final ozelAdapter adaptorumuz = new ozelAdapter(this, kisiler);
        listemiz.setAdapter(adaptorumuz);
    }
}

我的适配器:

package com.endroidteam.customlistview;


public class ozelAdapter extends BaseAdapter {

    private LayoutInflater mInflater;
    private List<Kisi> mKisiListesi;

    public  ozelAdapter(Activity activity, List<Kisi> kisiler) {
        mInflater = (LayoutInflater) activity.getSystemService(
                Context.LAYOUT_INFLATER_SERVICE);
        mKisiListesi = kisiler;
    }

    @Override
    public int getCount() {
        return mKisiListesi.size();
    }

    @Override
    public Object getItem(int position) {
        return mKisiListesi.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View satirView;

        satirView = mInflater.inflate(R.layout.satir, null);
        TextView textView =
                (TextView) satirView.findViewById(R.id.isimsoyisim);
        ImageView imageView =
                (ImageView) satirView.findViewById(R.id.simge);

        Kisi kisi = mKisiListesi.get(position);
        textView.setText(kisi.getIsim());

        if (kisi.isKadinMi()) {
            imageView.setImageResource(R.drawable.android_icon_big_13);
        }
        else {
            imageView.setImageResource(R.drawable.android_icon_big_4);
        }
        return satirView;
    }
}

我的GetterSetter:

  private String isim;
    private boolean kadinMi;
    private int konum;


    public Kisi(String isim, boolean kadinMi, int konum) {
        super();
        this.isim = isim;
        this.kadinMi = kadinMi;
        this.konum = konum;
    }

    @Override
    public String toString() {
        return isim;
    }

    public String getIsim() {
        return isim;
    }

    public void setIsim(String isim) {
    this.isim = isim;
    }

    public  int getKonum()  {
        return konum;
    }

    public void setKonum(int konum) {
        this.konum = konum;
    }

    public boolean isKadinMi() {
        return kadinMi;
    }

    public void setKadinMi(boolean kadinMi) {
        this.kadinMi = kadinMi;
    }
}

请帮助我如何从以下列表视图中删除所选项目:

安东·B

我假设您想在按下按钮时删除列表中的项目-在调用按钮按下的函数中,获取项目位置并按以下方式删除项目:

this.getListView().setLongClickable(true);
this.getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
    //Do some
    return true;
}

});

kissiler.remove(position)

然后打电话

adapter.notifyDataSetChanged()

那将解决您的问题。

完整代码:

this.getListView().setLongClickable(true);
this.getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
    //Do some
    kissiler.remove(position);
    adapter.notifyDataSetChanged();
    return true;
}});

编辑:我犯了一个严重的错误,并使用id代替了位置-显然,您必须在function参数中使用position变量,因为它给出了位于项目列表中的整数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Android中计算ListView上的已检查项目

如何在ListView中添加/删除项目?

如何在onListItemClick方法上为Android上的ListView的选定项目上色

如何在Xamarin Android本机项目中实现滑动以删除listview / recyclerview的操作

如何在Android中的ListView中删除项目布局中的不规则性?

如何在Xamarin中删除从ListView中选择的项目

如何在Android Studio中删除项目上的即时应用程序支持

如何在Android上动态更新ListView

android:如何使用SimpleAdapter删除listview所有项目

如何在Android上查看Web项目

如何在ListView上设计3D项目

如何在Android上删除ActionBar?

如何在整个 ListView 上设置点击监听器(而不是在 ListView 的单个项目上)?

如何在 MATLAB Gui 上添加和删除项目

如何在Android中对ListView的项目进行排序或排列?

如何在Android中的listView项目之间设置空间

Android:如何在Fragment中更改ListView项目的值?

如何在Android中对listview项目人口进行明智的排序

如何在Android中获取ListView项目的值

如何在Android ListView中显示Firebase项目?

如何在android listview中实现多个项目?

如何在自定义ListView中动态添加项目而不删除以前的项目

如何在Android中删除ListView末尾的拉伸

Xamarin Android:如何在 recyclerview 中删除多个项目

如何在Flutter上的MaterialApp上删除Android后退按钮?

如何从面板上删除项目

如何删除SQliteOpenhelper上的项目

如何从listView Android获取项目?

如何在Android中的ListView上实现弹出菜单