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个字符的单词呢?请帮助我我的应用程序已完成,但此错误阻止我完成。

最佳答案

btntxt如果该行出现错误,则必须为空。控件btntxt为空或将此变量记录为控件。

10-07 22:37