【问题标题】:how to show my contacts database value in my spinner?如何在我的微调器中显示我的联系人数据库值?
【发布时间】:2014-09-05 21:56:28
【问题描述】:

在我的布局 xml 中,我有一个微调器,在我的 java 中,我有一个包含联系人和一些值的数据库,所以我想知道如何将这些值从数据库中发送或放入微调器中,所以当我单击它时,它选择了联系人,有代码示例吗?

【问题讨论】:

  • 这里没有代码示例。你试过什么?
  • 其实我什么都没试过,因为我是初学者,我知道的不多,只是想知道如何在微调器中显示值
  • 开始here

标签: android database spinner


【解决方案1】:

首先从数据库中获取联系人详细信息。 您可以在 http://codinglookseasy.blogspot.in/2012/08/sqlite-database.html 找到数据库概念的示例代码。 接下来从上面的示例中,您可能已经获得了对象的 ArrayList 并使用

在微调器中设置了联系人姓名
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
    android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(dataAdapter);

这里的列表可能是数据库中 ArrayList 中的数据。 (将要从数据库中显示的特定字段存储到此列表中)。 使用

获取所选项目
spinner2.getSelectedItem() 

它给出选择的项目并使用从数据库中获得的 ArrayList 获取数据

【讨论】:

  • 谢谢,我会看看并做一些测试,稍后可能会回复谢谢
  • 希望这次如果您遇到任何问题,请返回您所做的示例示例。快乐编码
【解决方案2】:

试试吧

//Initialize  the spinner view
Spinner spinnerContact = (Spinnner) findViewById(R.id.spinner);

//Initialise List Variable
List<String> contactsList = databaseObj.getContacts;

// Create and Implement Adapter for spinner
ArrayAdapter<String> contactAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, contactsList );

//set drop down view for spinner
contactAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

//set adapter for spinner
spinnerContact.setAdapter(contactAdapter);

//select the item in spinner defaultly
spinnerContact.setSelection(position);

//get Selected Item Text from the spinner
spinnerContact.getSelectedItem();

【讨论】:

  • databaseObj.getContacts || (位置),它们是什么,它们是什么意思?它们是变量吗?因为他们给出了错误
  • datbaseObj.getContacts 表示您在数据库助手类中编写用于获取联系人的单独方法,并且位置是微调器值的索引
  • k 等待我现在输入示例。请耐心等待
【解决方案3】:

在主要活动中考虑你

 public class MainActivity extends Activity {

   private List<String> contactList;
    private Spinner spinnerComp;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.spinnerdemo);
       spinnerComp= (Spinner) findViewById(R.id.spinner1);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, getContacts());
    adapter                 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spinnerComp.setAdapter(adapter);

    spinnerComp.setSelection(0);
}

现在 getContacts() 包含如下:

// get Contact Names
private List<String> getContacts() {
    // get Contacts
    List<Contact> contacts = DBHelper.getContacts();
    List<String> contactNames = null;
    if (contacts.size() != 0) {
        contactNames = new ArrayList<String>();
        for (Contact contact : Contacts) {
            String contactName = contact.getName();
            contactNames.add(contactName);
        }

    } 
    return contactNames;
}

在 DbHelper.java 中

  public List<Contact> getAllContacts() {
    String sql = "SELECT * FROM " + Table.CONTACT + " ORDER BY " + 
        Contact.Column.NAME + " ASC";

    List<Contact> contacts = new ArrayList<Contact>();
    Cursor cursor = database.rawQuery(sql, null);
    while(cursor.moveToNext()) {
        Contact contact = getContactFromCursor(cursor);
        if(Contact != null) {
            contacts.add(Contact);
        }
    }
    cursor.close();

    return contacts;
}

private Contact getContactFromCursor(Cursor cursor) {
    long id = cursor.getLong(cursor.getColumnIndex(Contact.Column.ID));
    String name = cursor.getString(cursor.getColumnIndex(Contact.Column.NAME));
    long phoneNumber = cursor.getLong(cursor.getColumnIndex(Contact.Column.DATE_OF_BIRTH));
    Contact Contact = new Contact(name, phoneNumber);
    Contact.setId(id);
    return Contact;
}

【讨论】:

  • 我没有 dbhelper 我有这些 java:Main, Novamensagem, Contato, Adicionarcontato |Contato 显示已注册的联系人,Adicionarcontato 用于添加联系人, Novamensagem 发送消息(微调器在哪里)和 Main 用于第一个屏幕,以选择您要进行的活动。
  • 你应该编写自己的 dbhelper 类
  • k 只需发送邮件到 rajeshmcashc10@gmail.com 请求 dbhelper 类,我将转发示例类。以便将来您可以编写自己的 dbhelper 类
猜你喜欢
  • 1970-01-01
  • 2019-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多