.equal()无法正常工作

时间:2015-08-06 04:44:44

标签: java android

btntxt=alphbtn[0].getText().toString();
cntr=cnt;
Log.i("Chr", "" + cnt + " " + crtchr);
for (int i = 0; i<strlnth ; i++)
{
    crtchr=(String.valueOf(curntnam.charAt(i)));
    if (strlnth > 8 && i==7)
    {
        i++;
    }
    if (btntxt.equals((crtchr)))
    {
        bt[i].setText(crtchr);
        cnt++;
    }
    Log.i("Chr", ""+crtchr);}
    Log.i("BUTTN", ""+btntxt);
}

在上面的代码中,我想比较一个字符串和按钮文本,分别是每个按钮上的a-z。我使用按钮数组来存储所有26个字母按钮。当curntnam包含8个字符的单词时,它可以正常工作,但是当单词的字符数超过8时,应用程序就会崩溃,并且在循环中记录并在logcat中正确地给出消息。当我点击错误时,这显示我错误

if (btntxt.equals((crtchr))){

那么我需要做些什么来使它超过8个字符呢?请帮助我,我的应用程序已完成,但此错误阻止我完成。

2 个答案:

答案 0 :(得分:0)

如果此行给出错误,则

btntxt必须为null。 Control btntxt为null或将此变量记录为控件。

答案 1 :(得分:0)

我的代码中有一个错误,其中for循环在8之后被召回,因此它崩溃了应用程序。现在我已经解决了我的问题。