0

text1 に S を入力すると、対応する画像が text2 に表示されますが、text1 に G を入力すると、対応する画像が text2 に表示されますが、S の前の画像は画像ではなく文字として表示されます。何故ですか?2 つの画像を表示できないのはなぜですか? どうしたの?

public class MainActivity extends Activity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final EditText te1 = (EditText)findViewById(R.id.t1); 
        final EditText te2 = (EditText)findViewById(R.id.t2); 



        final Button v = (Button)findViewById(R.id.b1);     
     v.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub      
                //imva.setImageResource(R.id.b1);

                te2.setText(" ");

                String t= te1.getText().toString();

                char [] aa = t.toString().toCharArray(); 
                  for (int i = 0 ; i < aa.length ; i++)
                  {
                      if (aa[i] == 's')
                      {
                     SpannableStringBuilder builder = new SpannableStringBuilder(te1.getText());

                     do {
                ImageSpan imageSpan = new ImageSpan(getBaseContext(),R.drawable.a1);  
                int pos = builder.toString().indexOf("s");
                builder.replace(pos, pos + 1, "$");
                 builder.setSpan(imageSpan, pos, pos + 1,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
              } while (builder.toString().indexOf("s") > -1);
                    te2.setText(builder);

                      }  
                    if (aa[i] == 'g')
                    {           
                 SpannableStringBuilder builder = new SpannableStringBuilder(te1.getText());
                     do {
                    ImageSpan imageSpan = new ImageSpan(getBaseContext(),R.drawable.a2);  
                    int pos = builder.toString().indexOf("g");
                    builder.replace(pos, pos+ 1, "$");
                 builder.setSpan(imageSpan, pos, pos + 1,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
              } while (builder.toString().indexOf("g") > -1);
                te2.setText(builder);

                      }  
                  }
4

0 に答える 0