如果条件不起作用,则尝试比较数组列表中的值。 Android的

时间:2014-02-11 09:28:52

标签: java android

我正在尝试将一些值传递给函数并比较一些值并获取数组列表。

在Dbhand类中调用Collect函数。

        TextView result = (TextView) findViewById(R.id.textviewres);

        result.setText(dbhand.collect(
                getIntent().getExtras().getString("temple_type"), 
                getIntent().getExtras().getString("notemples"))
                );

在dbhand类中的collect()函数。

public String collect(String temptype, String limit){

    SQLiteDatabase ourDatabase = this.getWritableDatabase();
    String result="";
    String []column =new String[]{KEY_ID,KEY_TMPNAME,KEY_TMPTYPE,KEY_LATITUDE,KEY_LONGITUDE,KEY_IMGNAME,KEY_YEARBUILD,KEY_ADDRESS,KEY_CITY,KEY_EMAIL,KEY_WEB,KEY_TEL1,KEY_TEL2,KEY_DESCRI};
    Cursor c=ourDatabase.query("templ", column, null, null, null, null,null, limit);


    c.moveToFirst();
    int iKEY_ID = c.getColumnIndex(KEY_ID);
    int iKEY_TMPNAME= c.getColumnIndex(KEY_TMPNAME);
    int iKEY_TMPTYPE= c.getColumnIndex(KEY_TMPTYPE);

    for (c.moveToFirst();!c.isAfterLast();c.moveToNext()){

        if (c.getString(iKEY_TMPTYPE) == temptype){

    result = result+c.getString(iKEY_ID)+"\t\t"+c.getString(iKEY_TMPNAME)+"\t\t"+c.getString(iKEY_TMPTYPE)+" \n";
        }
    }

    return result;

}

我没有得到任何错误,因为没有比较if条件。它不会返回任何值。

任何人都可以帮我解决这个问题。

3 个答案:

答案 0 :(得分:1)

这是比较两个字符串的糟糕编程。你应该使用它。

c.getString(iKEY_TMPTYPE).equalsIgnoreCase(temptype)

答案 1 :(得分:0)

使用String类的.equals()函数来比较字符串。

赞,c.getString(iKEY_TMPTYPE).equals(temptype)

答案 2 :(得分:0)

使用collect方法 使用if (c.getString(iKEY_TMPTYPE).equals(temptype)){