Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/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
If statement 如果else不能在android内部for和while循环中工作_If Statement_Contains - Fatal编程技术网

If statement 如果else不能在android内部for和while循环中工作

If statement 如果else不能在android内部for和while循环中工作,if-statement,contains,If Statement,Contains,在最后一个for循环中,如果没有if-else,它可以正常工作,但是如果没有if-else,它就不能工作,即应用程序关闭,移动设备重新启动 任何人帮助我,我想检查一些子字符串,然后文本颜色将改变,否则颜色将正常。如果您发布堆栈跟踪将有所帮助,但如果崩溃发生在此处: public void LoadRoutine() { TableRow tbrow0 = new TableRow(getActivity()); //String[] mStrings = new

在最后一个for循环中,如果没有if-else,它可以正常工作,但是如果没有if-else,它就不能工作,即应用程序关闭,移动设备重新启动


任何人帮助我,我想检查一些子字符串,然后文本颜色将改变,否则颜色将正常。

如果您发布堆栈跟踪将有所帮助,但如果崩溃发生在此处:

public void LoadRoutine() {
        TableRow tbrow0 = new TableRow(getActivity());

        //String[] mStrings = new String[9];
        tbrow0.setBackgroundColor(Color.parseColor("#FFFFFF"));
        tbrow0.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));
        for (String c : TimeSlotSummer) {
            TextView tv0 = new TextView(getActivity());
            tv0.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));
            tv0.setGravity(Gravity.CENTER);
            tv0.setTextSize(12);
            tv0.setHeight(40);
            tv0.setWidth(76);
            tv0.setBackgroundColor(Color.parseColor("#FFFFFF"));
            tv0.setTextColor(Color.parseColor("#000000"));
            tv0.setPadding(1, 1, 1, 1);
            tv0.setText(c);
            tv0.setBackgroundColor(R.id.tableRowid);
            tbrow0.addView(tv0);
        }
        tableLayout.addView(tbrow0);

        String dept = GlobalClass.userDepartment;

        DatabaseAccess databaseAccess = DatabaseAccess.getInstance(getActivity());
        databaseAccess.Open();
        String faccode = GlobalClass.faculty_code;
        Cursor cRoutine = databaseAccess.getRoutine("Sunday",dept);

        if (cRoutine.getCount() == 0) {
            Toast.makeText(getActivity(),"No Data in Table",Toast.LENGTH_LONG).show();
        }
        else{
            while (cRoutine.moveToNext())
            {
                String[] mStrings = new String[10];

                mStrings[0] = cRoutine.getString(2);
                mStrings[1] = cRoutine.getString(4);
                mStrings[2] = cRoutine.getString(5);
                mStrings[3] = cRoutine.getString(6);
                mStrings[4] = cRoutine.getString(7);
                mStrings[5] = cRoutine.getString(8);
                mStrings[6] = cRoutine.getString(9);
                mStrings[7] = cRoutine.getString(10);
                mStrings[8] = cRoutine.getString(11);


                TableRow tbrow1 = new TableRow(getActivity());
                tbrow1.setBackgroundColor(Color.parseColor("#FFFFFF"));
                tbrow1.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));

                for (String cls:mStrings) {
                    TextView tv1 = new TextView(getActivity());
                    tv1.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));
                    tv1.setGravity(Gravity.CENTER);
                    tv1.setTextSize(12);
                    tv1.setWidth(75);
                    tv1.setHeight(37);

                    tv1.setBackgroundColor(Color.parseColor("#FFFFFF"));
                    tv1.setPadding(1, 1, 1, 1);
                    tv1.setBackgroundColor(R.id.tableRowid);
                    tv1.setText(cls);
                    tv1.setTextColor(Color.parseColor("#FF0000"));
                    if(cls.contains(faccode))
                        tv1.setTextColor(Color.parseColor("#000000"));
                    else
                        tv1.setTextColor(Color.parseColor("#FF0000"));
                    tbrow1.addView(tv1);
                }
                tableLayout.addView(tbrow1);
            }
        }
    }
唯一的解释是,您在
cls
上得到一个NullPointerException,因为
tv1
如果以前没有崩溃,它显然不是null

请改用此代码:

            if(cls.contains(faccode))
                tv1.setTextColor(Color.parseColor("#000000"));
            else
                tv1.setTextColor(Color.parseColor("#FF0000"));

只需单击您希望接受的答案左侧的灰色复选框。它会变绿的。
            if(cls != null && cls.contains(faccode))
                tv1.setTextColor(Color.parseColor("#000000"));
            else
                tv1.setTextColor(Color.parseColor("#FF0000"));