【问题标题】:How to show IDs of objects in ArrayList如何在 ArrayList 中显示对象的 ID
【发布时间】:2014-06-18 21:47:56
【问题描述】:

我有一个小应用程序,我可以在其中编写随机内容,然后将其保存在 SQLlite 数据库文件中。另一个 Activity 读取这些信息并将其显示在 ArrayList 中。然后我创建了一个按钮来删除列表的第一个对象。现在我正在尝试对其进行一些更改,以便用户可以选择要删除的对象。它也很好用。问题是我不知道如何在屏幕上的列表中显示对象的 ID。你能看看这段代码并帮助我吗?

onCreate 在 Activity 中显示我的列表:

    dbwrapper = new MyDatabaseWrapper(this);
    dbwrapper.open();
    myContactsList = dbwrapper.getAllContacts();

    this.setListAdapter(new ArrayAdapter<myContact>(this,
                            android.R.layout.simple_list_item_1, myContactsList));

来自 MyDatabaseWrapper 的 getAllContacts 函数:

   public List<myContact> getAllContacts() {

            List<myContact> myList = new ArrayList<myContact>();

            Cursor c = db.rawQuery("SELECT * FROM " + CONTACTS_TABLE, null);

            c.moveToFirst();

            while (!c.isAfterLast()) {
                    myContact mc = new myContact();
                    mc.setData(c.getInt(0), c.getString(1), c.getString(2),
                                    c.getString(3));
                    c.moveToNext();
                    myList.add(mc);
            }
            c.close();
            return myList;
    }

还有一个类,我将值从数据库转换为字符串:

package com.example.sqlite;

import java.util.ArrayList;
import java.util.List;

public class myContact {

    String imie;
    String nazwisko;
    String tel;
    int id;

    public myContact() {
            // TODO Auto-generated constructor stub
    }

    public void setData(int _id, String i, String n, String t){

            id=_id;
            imie=i;
            nazwisko=n;
            tel=t;
    }

    @Override
    public String toString() {

            return "[" + String.valueOf(id) + "]" + "\n" +
                            imie + "\n" +
                            nazwisko + "\n" +
                            tel;
    }

    public int getId() { return id; }

}

看起来像这样: http://screenshooter.net/100009676/chxmipm http://screenshooter.net/100009676/ngbxmgx

我删除了一个编号为 3 的对象。

是的。到目前为止,“[]”中的数字是数据库中的 id。我想将此数字更改为对象的 ID。

【问题讨论】:

  • 请不要发布代码链接。将相关代码(尽可能短)复制到您的问题中。
  • “对象的 ID”是什么意思?
  • 我的意思是元素在列表中的位置。因此,例如,如果我有: 1:A; 2:乙; 3:C;我将用“B”删除对象2,然后列表将是:1:A; 2:C;我想在“A”“B”“C”等之前显示这些位置(我想在我的应用程序的“[]”中显示它)。
  • Eran,我会尽快修改我的问题。

标签: java android arraylist


【解决方案1】:

我不怎么做 android dev 所以我很抱歉我可能没有完全理解这一点,但你为什么不能直接使用indexOf(Object o)?只要您知道元素本身,这还不足以让您获得任何给定元素的 ID 吗? (假设你想删除它,你会的)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-06
    • 2020-11-12
    • 2014-04-27
    • 1970-01-01
    • 2014-03-04
    • 2013-04-26
    • 2013-02-18
    • 1970-01-01
    相关资源
    最近更新 更多