【问题标题】:How to return all value from a function如何从函数中返回所有值
【发布时间】:2016-08-17 09:37:41
【问题描述】:

我想从这个函数中返回 dbManagement.ORIGINATING_ADDRESS 的所有值,但它只是给了我最后一个值给blockedNumber。我知道它会给出最后一个价值,但我怎样才能获得所有价值。请帮忙

public String selectBlockedNumbers() {
        Cursor cursor = dbManagement.selectBlockedNumbers();
        String blockedNumber = null;
        cursor.moveToFirst();
        for(int i = 0; i < cursor.getCount(); i++) {
            blockedNumber = cursor.getString(cursor.getColumnIndex(dbManagement.ORIGINATING_ADDRESS));
            cursor.moveToNext();
        }

        Toast.makeText(this, blockedNumber, Toast.LENGTH_LONG).show();
        return blockedNumber;

    }

Cursor cursor = dbManagement.selectBlockedNumbers();

函数 selectBlockedNumbers() 包含以下查询:

cursor = db.rawQuery("SELECT " + ORIGINATING_ADDRESS + " FROM " + TABLE_BLOCK_LIST, null);

【问题讨论】:

    标签: android sqlite


    【解决方案1】:

    当 for 循环最后一次运行时,blockedNumbers 将包含最后检索到的数字。因此,与其返回String,不如返回List&lt;String&gt;。在这种情况下,您的代码应更改为

    public List<String> selectBlockedNumbers() {
            Cursor cursor = dbManagement.selectBlockedNumbers();
            List<String> blockedNumbers = new ArrayList<String>();
            cursor.moveToFirst();
            for(int i = 0; i < cursor.getCount(); i++) {
                String blockedNumber = cursor.getString(cursor.getColumnIndex(dbManagement.ORIGINATING_ADDRESS));
                blockedNumbers.add(blockedNumber);
                cursor.moveToNext();
            }
    
            Toast.makeText(this, blockedNumber, Toast.LENGTH_LONG).show();
            return blockedNumbers;    
        }
    

    【讨论】:

    • 感谢您的帮助。它返回 List 但我只需要 String 类型。
    • 基本上我想检索这些blockedNumbers并需要与字符串进行比较
    • 你能分享你做比较的代码吗?然后我可以建议您如何修改它以使用返回的List&lt;String&gt;
    • 我想和 String s = "123"; 比较
    • 在这种情况下,您想检查是否有任何被阻止的号码是“123” - 您可以这样做:List&lt;String&gt; blockedNumbers = selectBlockedNumbers(); for(String blockedNumber : blockedNumbers){ if("123".equals(blockedNumber)){ //do something here? } }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 2020-05-26
    相关资源
    最近更新 更多