2014-09-10 5 views
2

ли ImageView абстрактный класс, как мы пишем:Мы не инстанцирует ImageView и до сих пор она работает

import android.widget.ImageView; 
public class LoadActivity extends Activity { 
    boolean doubleBackToExitPressedOnce = false; 
    ImageView im; 
    Animation rotate; 
    private Handler mHandler; 
    private Runnable mRunnable; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.load); 
     im = (ImageView) findViewById(R.id.load_icon); 
     rotate = AnimationUtils.loadAnimation(getApplicationContext(), 
       R.anim.load_page); 
     rotate.setInterpolator(new LinearInterpolator()); 
     im.startAnimation(rotate); 

     mHandler = new Handler(); 
     mRunnable = new Runnable() { 
      @Override 
      public void run() { 
       Intent nextPageIntent = new Intent(getApplicationContext(), 
         P1.class); 
       startActivityForResult(nextPageIntent, 0); 
      } 
     }; 

     mHandler.postDelayed(mRunnable, 3000); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     im.startAnimation(rotate); 

    } 
} 

Таким образом, мы не используем new клавиатуры для создания его экземпляра. Я не могу понять, пожалуйста, помогите. Это весь мой код.

Моя проблема в том, что ImageView не является абстрактным классом, но ImageView im; работает. Не должно быть ImageView im = new ImageView();

Почему это не используется?

+0

Взгляните на документацию% http://developer.android.com/reference/android/widget/ImageView.html – aga

+0

Ваш код не будет работать - напишите фактический код, который вы используете .... и, как уже было сказано, «ImageView» не является абстрактным классом, а «findViewById» используется для поиска «просмотров», которые были «завышены». – Squonk

+0

Я отредактировал его –

ответ

1

ImageView не является абстрактным классом.

findViewById(int) предназначен для получения виджетов в этом пользовательском интерфейсе, которые необходимо взаимодействовать с программным обеспечением.

or Он находит представление, которое было идентифицировано атрибутом id из XML, обработанного в onCreate (Bundle).

ImageView протягивается от View класса, так что мы получим вид экземпляра из его ID с помощью этого метода

0

Нет, это не абстрактный класс и может быть создан несколькими конструкторами.

0

ImageView не является анс абстрактным классом.

findViewById(int) - это получение виджетов в этом пользовательском интерфейсе, который вы программно и обрабатываете самостоятельно.

Просмотров завышены макетом. Когда вы вызываете layoutContentView xml макет, и создается иерархия представления.

атрибуты, переданные конструктору Button по разметке надувных элементов. проверить LayoutInflator

0

No. Посмотрите the source

Это, как правило, выписанный, как это, потому что, как правило, раздувают вид и все представления ребенка в иерархии будет построен для вас.