【问题标题】:I need to display my data from database to listview. I'm using arrayadapter with listview我需要将我的数据从数据库显示到列表视图。我将 arrayadapter 与 listview 一起使用
【发布时间】:2014-11-18 06:08:07
【问题描述】:

这是我获取数据的方法。这里显示“将类型结果更改为字符串”。

public List<String> getData() {
        // TODO Auto-generated method stub
        String[] coloumn = new String[]{KEY,NAME,DETAIL};
        Cursor c=ourDB.query(TABLE_NAME, coloumn, null, null, null, null, null);
        List<String> result =" ";
        List<String> results = new ArrayList<String>();
        int iRow =c.getColumnIndex(KEY);
        int iName =c.getColumnIndex(NAME);
        int iDetails =c.getColumnIndex(DETAIL);
        for(c.moveToFirst(); !c.isAfterLast();c.moveToNext()){
         result = result + c.getString(iRow)+" "+ c.getString(iName)+" = "+ c.getString(iDetails)+"\n";
             }

        return result;
    }

这是我查看数据的班级。

 public class View extends Activity {

        SimpleCursorAdapter adaptr;


        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.display);
            ListView lv =(ListView) findViewById(R.id.listView1);
            Remind info = new Remind(this);
            info.open();
            List<String> data =info.getData();
            lv.setAdapter(new ArrayAdapter<String>(this,
                     android.R.layout.simple_list_item_1, data));

        }

 }

请任何人提出任何想法。谢谢..!

【问题讨论】:

  • 这里真正的问题是什么?
  • 错误显示清楚将类型结果更改为字符串然后您需要更改它。
  • 我已经改变了。但随后返回结果显示错误。谢谢
  • 显示什么错误??
  • " 将结果类型更改为 List" 并将方法返回类型更改为 String

标签: android listview android-arrayadapter


【解决方案1】:

从你提到的错误来看,这是一个明显的问题。

getData() 中的以下行将字符串文字分配给 List。

List<String> result =" ";

改成

String result = " ";

【讨论】:

  • 我换了先生。但随后返回语句结果显示错误。
  • 您需要将结果字符串添加到结果中并返回结果。结果。添加(结果);返回结果;
【解决方案2】:

使用这个:

public List<String> getData() {
    // TODO Auto-generated method stub
    String[] coloumn = new String[]{KEY,NAME,DETAIL};
    Cursor c=ourDB.query(TABLE_NAME, coloumn, null, null, null, null, null);
    List<String> result =" ";
    List<String> results = new ArrayList<String>();
    int iRow =c.getColumnIndex(KEY);
    int iName =c.getColumnIndex(NAME);
    int iDetails =c.getColumnIndex(DETAIL);
    for(c.moveToFirst(); !c.isAfterLast();c.moveToNext()){
     result = result + c.getString(iRow)+" "+ c.getString(iName)+" = "+ c.getString(iDetails)+"\n";
    results.add(result);             
}

    return results;
}

【讨论】:

  • 感谢您的帮助先生..现在我的错误已经消失了。我做了一些更改。
  • 现在我的应用意外关闭了。
  • 我在上面添加了我的主要活动和日志猫。
  • 我认为意图有一些问题
  • 在 AddActivity.java 中提及第 68 行
【解决方案3】:

直接将你的数据库数据添加到列表中:

results.add(" "+ c.getString(iRow)+" "+ c.getString(iName)+" = "+ c.getString(iDetails)+"\n");

返回字符串列表而不是字符串:

return results;

删除不再需要的代码:

列表结果="";

【讨论】:

    猜你喜欢
    • 2019-02-14
    • 1970-01-01
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    相关资源
    最近更新 更多