я видел это в TextView классе андроида:Что вызывает метод OnDraw зрения называться и когда
@Override
protected void onDraw(Canvas canvas) {
restartMarqueeIfNeeded();
// Draw the background for this view
super.onDraw(canvas);
В View
класс андроида, я вижу, что он пуст:
/**
* Implement this to do your drawing.
*
* @param canvas the canvas on which the background will be drawn
*/
protected void onDraw(Canvas canvas) {
}
Почему кто-нибудь вызовет метод суперкласса, если он пуст?
Где находится метод с холстом параметров?
Является ли параметр холст автоматически передан системой android?
Когда метод ondraw называется и кем?
Когда он переопределяется, используется метод подкласса вместо суперкласса?
Это мой пользовательский вид, например:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView(this));
}
}
class MyView extends View {
public MyView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
}
Кто вызывает метод MyView.OnDraw?
Должна быть какая-то одна строка кода, которая вызывает метод Myview.Ondraw.Isnt'it?
использовать 'Thread # dumpStack()' inside 'onDraw' и посмотреть' logcat' – pskink
Возможный дубликат [Android при вызове onDraw?] (Http://stackoverflow.com/questions/17576970/android-when- ondraw-is-called) – user1643723