Android: проблема с OnGlobalLayout - PullRequest
       17

Android: проблема с OnGlobalLayout

1 голос
/ 07 февраля 2011

В моем коде я пытаюсь найти высоту, которую занимает текстовое представление ..

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    t = new TextView(this);
    ViewTreeObserver vto = t.getViewTreeObserver(); 
    vto.addOnGlobalLayoutListener(this);
    t.setText("This is to test the text\n Some Text \n Another ..");
    t.append("\nafter something");
    Toast.makeText(this, " The value at num = "+num,Toast.LENGTH_SHORT).show();
    setContentView(t);
}

public void onGlobalLayout() {
    // TODO Auto-generated method stub
    num=t.getHeight();
    Toast.makeText(this, "Hellooo !! height is "+num, Toast.LENGTH_SHORT).show();
}

Значение num в onCreate () всегда равно нулю, но в onGlobalLayout () atlast правильная высотахранится в num, но я не могу использовать его, потому что это конец приложения .. Есть ли возможность получить длину текста в середине приложения?

Простите, если есть какие-либо ошибки в приведенном вышепроблема ..

Спасибо, Шива Куамр

1 Ответ

1 голос
/ 26 мая 2011

Это не конец приложения, это когда Android закончил макет. Если вам нужно, чтобы это было «середина» приложения, вызовите onGlobalLayout() некоторый метод, который будет использовать значение высоты. См. Программирование на основе событий .

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