Ошибка вывода Android. TextView не будет отображать вывод - PullRequest
1 голос
/ 05 декабря 2011
package com.culligandev.www;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class threeRows extends Activity {

    TextView display;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.output);
        display = (TextView) findViewById(R.id.tvDisplay);

        int a = 3;

        for(int i = 0; i < a; i++) {
            for(int j = 0; j <= i; j++) {
                display.setText("*");
            }
            display.setText("");
        }
    }
}

Это действие вызывается нажатием кнопки, после чего должен выводиться треугольник из звездочек, например:

*
**
***

Он ничего не выводит и просто показывает пустой экран. Можете ли вы помочь, пожалуйста?

Ответы [ 4 ]

1 голос
/ 05 декабря 2011

setText не работает как printf или println

если вы хотите отобразить шаблон, вы можете сделать это с помощью StringBuilder или StringBuffer а затем использовать этот строковый буфер / объект-строитель в setText для отображения шаблона

1 голос
/ 05 декабря 2011

У вас есть проблема в вашем "для".Последнее, что сделает ваше приложение, - display.setText (""), что означает, что ваш текст будет пустым.Вы должны поставить что-то вроде

display.setText(display.getText() + "\n");

А для другого:

display.setText(display.getText() + "*");
0 голосов
/ 07 декабря 2011

попробуйте это:

for(int i = 0; i < a; i++) {
      for(int j = 0; j <= i; j++) 
      {
                display.setText(display.getText().toString().trim()+"*");
      }
      display.setText(display.getText().toString().trim()+"\n");
}
0 голосов
/ 05 декабря 2011

TextView.append может быть тем, что вам нужно, или использовать StringBuilder, как было предложено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...