Android中的循环,单词和图像

时间:2012-12-31 02:46:03

标签: java android eclipse android-intent for-loop

我的问题是: 我在EditText中输入文本,然后显示每个单独的字母,但可以使用2 ImageView显示。 我对ImageView没有任何问题,问题是当你输入单词进入for,尝试延迟显示第一个字母并继续其他字母,但它不起作用,只是发给我字的最后一个字母你输入

代码:

public class deletreo extends Activity {

    TextView tv;
    EditText etxt;
    ImageView img,img2;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.deletreo);

        tv = new TextView(this);
        etxt = (EditText)findViewById(R.id.text);
        Button btn = (Button)findViewById(R.id.btn7);

        btn.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                letra();

            }   
        });



    }//fin bundle





     public void letra()  {

         String t = "";

        t = etxt.getText().toString();
        String l = t.toLowerCase();
        int p = l.length();


            try{
                for( int j = 0 ; j < p ; j++){


                    if(l.charAt(j) == 'a' || l.charAt(j) == 'A'){
                        img = (ImageView)findViewById(R.id.img);
                        img.setImageResource(R.drawable.aa);
                        img2 = (ImageView)findViewById(R.id.img2);
                        img2.setImageResource(R.drawable.image_1);

                    }

                        if(l.charAt(j) == 'b' || l.charAt(j) == 'B'){
                            img = (ImageView)findViewById(R.id.img);
                            img.setImageResource(R.drawable.bb);
                            img2 = (ImageView)findViewById(R.id.img2);
                            img2.setImageResource(R.drawable.image_2);

                        }
                            if(l.charAt(j) == 'c' || l.charAt(j) == 'C'){
                                img = (ImageView)findViewById(R.id.img);
                                img.setImageResource(R.drawable.cc);
                                img2 = (ImageView)findViewById(R.id.img2);
                                img2.setImageResource(R.drawable.image_3);

                            }
                                if(l.charAt(j) == 'd' || l.charAt(j) == 'D'){
                                    img = (ImageView)findViewById(R.id.img);
                                    img.setImageResource(R.drawable.dd);
                                    img2 = (ImageView)findViewById(R.id.img2);
                                    img2.setImageResource(R.drawable.image_4);
                                }
                                    if(t.charAt(j) == 'e' || t.charAt(j) == 'E'){
                                        img = (ImageView)findViewById(R.id.img);
                                        img.setImageResource(R.drawable.ee);
                                        img2 = (ImageView)findViewById(R.id.img2);
                                        img2.setImageResource(R.drawable.image_5);
                                    }
                                        if(t.charAt(j) == 'f' || t.charAt(j) == 'F'){
                                            img = (ImageView)findViewById(R.id.img);
                                            img.setImageResource(R.drawable.ff);
                                            img2 = (ImageView)findViewById(R.id.img2);
                                            img2.setImageResource(R.drawable.image_6);
                                        }
                                            if(t.charAt(j) == 'g' || t.charAt(j) == 'G'){
                                                img = (ImageView)findViewById(R.id.img);
                                                img.setImageResource(R.drawable.gg);
                                                img2 = (ImageView)findViewById(R.id.img2);
                                                img2.setImageResource(R.drawable.image_7);
                                            }
                                                if(t.charAt(j) == 'h' || t.charAt(j) == 'H'){
                                                    img = (ImageView)findViewById(R.id.img);
                                                    img.setImageResource(R.drawable.hh);
                                                    img2 = (ImageView)findViewById(R.id.img2);
                                                    img2.setImageResource(R.drawable.image_8);
                                                }
                                                    if(t.charAt(j) == 'i' || t.charAt(j) == 'I'){
                                                        img = (ImageView)findViewById(R.id.img);
                                                        img.setImageResource(R.drawable.ii);
                                                        img2 = (ImageView)findViewById(R.id.img2);
                                                        img2.setImageResource(R.drawable.image_9);
                                                    }
                                                        if(t.charAt(j) == 'j' || t.charAt(j) == 'J'){
                                                            img = (ImageView)findViewById(R.id.img);
                                                            img.setImageResource(R.drawable.jj);
                                                            img2 = (ImageView)findViewById(R.id.img2);
                                                            img2.setImageResource(R.drawable.image_10);
                                                        }
                                                            if(t.charAt(j) == 'k' || t.charAt(j) == 'K'){
                                                                img = (ImageView)findViewById(R.id.img);
                                                                img.setImageResource(R.drawable.kk);
                                                                img2 = (ImageView)findViewById(R.id.img2);
                                                                img2.setImageResource(R.drawable.image_11);
                                                            }
                                                                if(t.charAt(j) == 'l' || t.charAt(j) == 'L'){
                                                                    img = (ImageView)findViewById(R.id.img);
                                                                    img.setImageResource(R.drawable.ll);
                                                                    img2 = (ImageView)findViewById(R.id.img2);
                                                                    img2.setImageResource(R.drawable.image_12);
                                                                }
                                                                    if(t.charAt(j) == 'm' || t.charAt(j) == 'M'){
                                                                        img = (ImageView)findViewById(R.id.img);
                                                                        img.setImageResource(R.drawable.mm);
                                                                        img2 = (ImageView)findViewById(R.id.img2);
                                                                        img2.setImageResource(R.drawable.image_13);
                                                                    }
                                                                        if(t.charAt(j) == 'n' || t.charAt(j) == 'N'){
                                                                            img = (ImageView)findViewById(R.id.img);
                                                                            img.setImageResource(R.drawable.nn);
                                                                            img2 = (ImageView)findViewById(R.id.img2);
                                                                            img2.setImageResource(R.drawable.image_14);
                                                                        }
                                                                            if(t.charAt(j) == 'ñ' || t.charAt(j) == 'Ñ'){
                                                                                img = (ImageView)findViewById(R.id.img);
                                                                                img.setImageResource(R.drawable.nini);
                                                                                img2 = (ImageView)findViewById(R.id.img2);
                                                                                img2.setImageResource(R.drawable.image_15);
                                                                            }
                                                                                if(t.charAt(j) == 'o' || t.charAt(j) == 'O'){
                                                                                    img = (ImageView)findViewById(R.id.img);
                                                                                    img.setImageResource(R.drawable.oo);
                                                                                    img2 = (ImageView)findViewById(R.id.img2);
                                                                                    img2.setImageResource(R.drawable.image_16);
                                                                                }
                                                                                    if(t.charAt(j) == 'p' || t.charAt(j) == 'P'){
                                                                                        img = (ImageView)findViewById(R.id.img);
                                                                                        img.setImageResource(R.drawable.pp);
                                                                                        img2 = (ImageView)findViewById(R.id.img2);
                                                                                        img2.setImageResource(R.drawable.image_17);
                                                                                    }
                                                                                        if(t.charAt(j) == 'q' || t.charAt(j) == 'Q'){
                                                                                            img = (ImageView)findViewById(R.id.img);
                                                                                            img.setImageResource(R.drawable.qq);
                                                                                            img2 = (ImageView)findViewById(R.id.img2);
                                                                                            img2.setImageResource(R.drawable.image_18);
                                                                                        }
                                                                                            if(t.charAt(j) == 'r' || t.charAt(j) == 'R'){
                                                                                                img = (ImageView)findViewById(R.id.img);
                                                                                                img.setImageResource(R.drawable.rr);
                                                                                                img2 = (ImageView)findViewById(R.id.img2);
                                                                                                img2.setImageResource(R.drawable.image_19);
                                                                                            }
                                                                                                if(t.charAt(j) == 's' || t.charAt(j) == 'S'){
                                                                                                    img = (ImageView)findViewById(R.id.img);
                                                                                                    img.setImageResource(R.drawable.ss);
                                                                                                    img2 = (ImageView)findViewById(R.id.img2);
                                                                                                    img2.setImageResource(R.drawable.image_20);
                                                                                                }
                                                                                                    if(t.charAt(j) == 't' || t.charAt(j) == 'T'){
                                                                                                        img = (ImageView)findViewById(R.id.img);
                                                                                                        img.setImageResource(R.drawable.tt);
                                                                                                        img2 = (ImageView)findViewById(R.id.img2);
                                                                                                        img2.setImageResource(R.drawable.image_21);
                                                                                                    }
                                                                                                        if(t.charAt(j) == 'u' || t.charAt(j) == 'U'){
                                                                                                            img = (ImageView)findViewById(R.id.img);
                                                                                                            img.setImageResource(R.drawable.uu);
                                                                                                            img2 = (ImageView)findViewById(R.id.img2);
                                                                                                            img2.setImageResource(R.drawable.image_22);
                                                                                                        }
                                                                                                            if(t.charAt(j) == 'v' || t.charAt(j) == 'V'){
                                                                                                                img = (ImageView)findViewById(R.id.img);
                                                                                                                img.setImageResource(R.drawable.vv);
                                                                                                                img2 = (ImageView)findViewById(R.id.img2);
                                                                                                                img2.setImageResource(R.drawable.image_23);
                                                                                                            }
                                                                                                                if(t.charAt(j) == 'w' || t.charAt(j) == 'W'){
                                                                                                                    img = (ImageView)findViewById(R.id.img);
                                                                                                                    img.setImageResource(R.drawable.ww);
                                                                                                                    img2 = (ImageView)findViewById(R.id.img2);
                                                                                                                    img2.setImageResource(R.drawable.image_24);
                                                                                                                }
                                                                                                                    if(t.charAt(j) == 'x' || t.charAt(j) == 'X'){
                                                                                                                        img = (ImageView)findViewById(R.id.img);
                                                                                                                        img.setImageResource(R.drawable.xx);
                                                                                                                        img2 = (ImageView)findViewById(R.id.img2);
                                                                                                                        img2.setImageResource(R.drawable.image_25);
                                                                                                                    }
                                                                                                                        if(t.charAt(j) == 'y' || t.charAt(j) == 'Y'){
                                                                                                                            img = (ImageView)findViewById(R.id.img);
                                                                                                                            img.setImageResource(R.drawable.yy);
                                                                                                                            img2 = (ImageView)findViewById(R.id.img2);
                                                                                                                            img2.setImageResource(R.drawable.image_26);
                                                                                                                        }
                                                                                                                            if(t.charAt(j) == 'z' || t.charAt(j) == 'Z'){
                                                                                                                                img = (ImageView)findViewById(R.id.img);
                                                                                                                                img.setImageResource(R.drawable.zz);
                                                                                                                                img2 = (ImageView)findViewById(R.id.img2);
                                                                                                                                img2.setImageResource(R.drawable.image_27);

                                                                                                                            }

                            Thread.sleep(2000);                                                                                                                                                                                                 
                }//fin del for

            }//fin try

            catch (InterruptedException e) {
                e.printStackTrace();
            }
            finally{}


     }//fin letra();



}//fin

2 个答案:

答案 0 :(得分:1)

在您调用的for循环的底部:

Thread.sleep(2000);

这将简单地阻止UI线程2秒。由于UI线程基本上是应用程序的生命线,因此上述语句将暂停所有代码的执行。如果你阻塞主线程,循环外的代码就不能神奇地继续运行,这就是你的UI在每次迭代后都不会更新的原因。

代替直接与线程交互,可能更容易将延迟Runnable发布到Handler或使用其他一些模拟'ticks'的机制(例如Timer,{{ 1}}和TimerTask浮现在脑海中。每按一次,您就可以显示下一个字符。

答案 1 :(得分:0)

您希望将此操作置于单独的线程中,然后使用Handler暂停并恢复您刚刚创建的新线程。这样做是为了让你不会冻结主UI线程,这是默认情况下运行Android的东西。

我用Google搜索&#39; android在更改之间添加延迟&#39;得到了一堆结果,其中一个就是:Add a delay to Progress Dialog

此外,使用switch语句代替您的巨型级联if/else语句。它将使您的代码更加整洁,更高效。