Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.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 错误比较SQLite db中的字符串_Java_Android_Sqlite - Fatal编程技术网

Java 错误比较SQLite db中的字符串

Java 错误比较SQLite db中的字符串,java,android,sqlite,Java,Android,Sqlite,我有一些按钮,并从导入和预填充的sqlite数据库中为其中一些按钮设置了一些文本。这很好。现在,我有两个按钮,可以打开警报对话框,让用户输入解决方案,然后将其与数据库中的正确解决方案进行比较。对于我代码中的columnA,R.id.bKolonaA,它工作得很好,它向我展示了带有“正确答案”文本的toast。但在B栏,每当我进入解决方案,我都会得到“错误答案”吐司,即使我知道它是正确的。我确保在这些方法中使用的所有变量都是不同的。下面你们可以看到我的一些课程,重要的部分,这是一个相当大的课程,所

我有一些按钮,并从导入和预填充的sqlite数据库中为其中一些按钮设置了一些文本。这很好。现在,我有两个按钮,可以打开警报对话框,让用户输入解决方案,然后将其与数据库中的正确解决方案进行比较。对于我代码中的columnA,R.id.bKolonaA,它工作得很好,它向我展示了带有“正确答案”文本的toast。但在B栏,每当我进入解决方案,我都会得到“错误答案”吐司,即使我知道它是正确的。我确保在这些方法中使用的所有变量都是不同的。下面你们可以看到我的一些课程,重要的部分,这是一个相当大的课程,所以我只在这里粘贴了重要的部分。 有人能看出错误在哪里吗

    public class Asocijacije extends Activity implements OnClickListener{

    final Context context = this;
    Editable ukucanRezultatA, ukucanRezultatB, ukucanRezultatC, ukucanRezultatD, ukucanRezultatK;

    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            setContentView(R.layout.asocijacije);

            nextQuestion();
        }

    private void nextQuestion() {

            TestAdapter mDbHelper = new TestAdapter(this);
            mDbHelper.createDatabase();

            try{

                mDbHelper.open(); 

                Cursor c = mDbHelper.getAsocijacije(generateWhereClause());

                mAnsweredQuestions.add(c.getLong(0));

                mA1 = c.getString(6);
                mA2 = c.getString(7);
                mA3 = c.getString(8);
                mA4 = c.getString(9);
                mB1 = c.getString(10);
                mB2 = c.getString(11);
                mB3 = c.getString(12);
                mB4 = c.getString(13);
                mC1 = c.getString(14);
                mC2 = c.getString(15);
                mC3 = c.getString(16);
                mC4 = c.getString(17);
                mD1 = c.getString(18);
                mD2 = c.getString(19);
                mD3 = c.getString(20);
                mD4 = c.getString(21);
                mAKolonaA = c.getString(2);
                mBKolonaB = c.getString(3);
                mCKolonaC = c.getString(4);
                mDKolonaD = c.getString(5);
                mKonacno = c.getString(1).toUpperCase();

                konacanNormalized = Normalizer.normalize(mKonacno, Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]", "").toUpperCase();
                kolonaANormalized = Normalizer.normalize(mAKolonaA, Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]", "").toUpperCase();
                kolonaBNormalized = Normalizer.normalize(mBKolonaB, Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]", "").toUpperCase();
                kolonaBNormalized = Normalizer.normalize(mCKolonaC, Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]", "").toUpperCase();
                kolonaBNormalized = Normalizer.normalize(mDKolonaD, Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]", "").toUpperCase();

                a1.setOnClickListener(this);
                a2.setOnClickListener(this);
                a3.setOnClickListener(this);
                a4.setOnClickListener(this);
                b1.setOnClickListener(this);
                b2.setOnClickListener(this);
                b3.setOnClickListener(this);
                b4.setOnClickListener(this);
                c1.setOnClickListener(this);
                c2.setOnClickListener(this);
                c3.setOnClickListener(this);
                c4.setOnClickListener(this);
                d1.setOnClickListener(this);
                d2.setOnClickListener(this);
                d3.setOnClickListener(this);
                d4.setOnClickListener(this);
                kolonaA.setOnClickListener(this);
                kolonaB.setOnClickListener(this);
                kolonaC.setOnClickListener(this);
                kolonaD.setOnClickListener(this);
            }

            finally{
                mDbHelper.close();
            }

        }
    public void onClick(View v) {
switch(v.getId()){
    case R.id.bKolonaA:

                LayoutInflater layoutInflaterA = LayoutInflater.from(context);  
                View promptViewA = layoutInflaterA.inflate(R.layout.popup_answer, null);
                AlertDialog.Builder alertDialogBuilderA = new AlertDialog.Builder(context);
                // set prompts.xml to be the layout file of the alertdialog builder
                alertDialogBuilderA.setView(promptViewA);
                final EditText inputA = (EditText) promptViewA.findViewById(R.id.userInput);

                alertDialogBuilderA
                                        .setCancelable(false)
                                        .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                                                    public void onClick(DialogInterface dialog, int id) {
                                                        // get user input and set it to result

                                                        ukucanRezultatA = inputA.getText();
                                                        String ukucanRezultatStrA = ukucanRezultatA.toString().toUpperCase();                   

                                                        if (ukucanRezultatStrA.equals(kolonaANormalized)){
                                                            kolonaA.setText(mAKolonaA);
                                                            Toast.makeText(Asocijacije.this, "Correct Answer!!", Toast.LENGTH_SHORT).show();

                                                            a1.setText(mA1);
                                                            a2.setText(mA2);
                                                            a3.setText(mA3);
                                                            a4.setText(mA4);
                                                            kolonaA.setText(mAKolonaA);

                                                     }else{
                                                        Toast.makeText(Asocijacije.this, "Wrong answer!", Toast.LENGTH_SHORT).show();
                                                        }
                                                    }
                                                })
                                        .setNegativeButton("Cancel",
                                                new DialogInterface.OnClickListener() {
                                                    public void onClick(DialogInterface dialog, int id) {
                                                        dialog.cancel();
                                                    }
                                               });
                                // create an alert dialog

                                AlertDialog alertA = alertDialogBuilderA.create();
                                alertA.show();

                                break;
            case R.id.bKolonaB:

                LayoutInflater layoutInflaterB = LayoutInflater.from(context);  
                View promptViewB = layoutInflaterB.inflate(R.layout.popup_answer, null);
                AlertDialog.Builder alertDialogBuilderB = new AlertDialog.Builder(context);
                // set prompts.xml to be the layout file of the alertdialog builder
                alertDialogBuilderB.setView(promptViewB);
                final EditText inputB = (EditText) promptViewB.findViewById(R.id.userInput);

                alertDialogBuilderB
                                        .setCancelable(false)
                                        .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                                                    public void onClick(DialogInterface dialog, int id) {
                                                        // get user input and set it to result

                                                        ukucanRezultatB = inputB.getText();
                                                        String ukucanRezultatStrB = ukucanRezultatB.toString().toUpperCase();                   

                                                        if (ukucanRezultatStrB.equals(kolonaBNormalized)){
                                                            kolonaB.setText(mBKolonaB);
                                                            Toast.makeText(Asocijacije.this, "Correct answer!!", Toast.LENGTH_SHORT).show();

                                                            b1.setText(mB1);
                                                            b2.setText(mB2);
                                                            b3.setText(mB3);
                                                            b4.setText(mB4);
                                                            kolonaB.setText(mBKolonaB);

                                                     }else{
                                                        Toast.makeText(Asocijacije.this, "Wrong answer!", Toast.LENGTH_SHORT).show();
                                                        }
                                                    }
                                                })
                                        .setNegativeButton("Cancel",
                                                new DialogInterface.OnClickListener() {
                                                    public void onClick(DialogInterface dialog, int id) {
                                                        dialog.cancel();
                                                    }
                                               });
                                // create an alert dialog

                                AlertDialog alertB = alertDialogBuilderB.create();
                                alertB.show();

                                break;

    }
}

    }

调试到这一行:
if(ukucanrezultstra.equals(kolonananormalized)){
并检查这两个变量的值。它应该会给您提供更多信息。您是指这一行:if(ukucanrezultstra.equals(kolonaBNormalized)){?因为第一列A工作正常。然后是的,到那一行。我这样做了,它在其他列的正下方跳过。你应该能够在那里设置断点并让它停在那里,而不是在其他列的正下方,但即使它停在其他列,也要检查
Ukucanrezultatrb
kolonaBNormalized
的值以查看它们包含什么。。。