Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当尝试比较数组列表中的值时,如果条件不起作用。安卓_Java_Android - Fatal编程技术网

Java 当尝试比较数组列表中的值时,如果条件不起作用。安卓

Java 当尝试比较数组列表中的值时,如果条件不起作用。安卓,java,android,Java,Android,我试图将一些值传递给函数,比较一些值并获得数组列表 在Dbhand类中调用Collect函数。 TextView result = (TextView) findViewById(R.id.textviewres); result.setText(dbhand.collect( getIntent().getExtras().getString("temple_type"), getIntent(

我试图将一些值传递给函数,比较一些值并获得数组列表

在Dbhand类中调用Collect函数。

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

        result.setText(dbhand.collect(
                getIntent().getExtras().getString("temple_type"), 
                getIntent().getExtras().getString("notemples"))
                );
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;

}
dbhand类中的collect()函数。

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

        result.setText(dbhand.collect(
                getIntent().getExtras().getString("temple_type"), 
                getIntent().getExtras().getString("notemples"))
                );
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条件。它不返回任何值

有人能帮我修复这个plz吗。

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


比如,
c.getString(iKEY\u TMPTYPE).equals(testype)
在您的
collect
方法中
使用
if(c.getString(iKEY_TMPTYPE).equals(testype)){

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

c.getString(iKEY_TMPTYPE).equalsIgnoreCase(temptype)

c.getString(iKEY_TMPTYPE)
试探类型
是字符串吗?然后用
equalsIgnoreCase
代替==你应该先读java….@assylias谢谢你..这真的很有帮助。@PankajKumar.谢谢你的建议。下次告诉我读什么书。@user3234352你会在互联网上获得太多的资源…不用担心书:)