2014-12-11 4 views
-1

Я пытался очистить, открыть и закрыть Eclipse, дважды проверьте идентификатор, дважды проверьте R.java и я не мог понять, почему это появляется в строкеНесоответствие типа: не может конвертировать из просмотра в ImageView

harryImageView = findViewById (R.id.harry);

Каковы возможные решения?

Мой код:

package com.example.imageview; 

import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 


public class ImageView extends ActionBarActivity { 

    private ImageView harryImageView; 

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

     harryImageView = findViewById(R.id.harry); 

    } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.image_view, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 
} 
+0

Опубликуйте файл макет –

+0

Добавить image_view.xml в quesiton – Nasir

ответ

0

Ваша проблема заключается в том, что ваш класс называется ImageView, поэтому у вас возникают проблемы с вашим литом.

Попробуйте следующее:

android.widget.ImageView harryImageView; 
//... 
harryImageView = (android.widget.ImageView) findViewById(R.id.harry); 

Надеется, что это помогает

+0

Большое вам спасибо за помощь! Это сработало. – Leo

+0

Рад помочь !! :) – zozelfelfo

0

findViewById(R.id.harry) возвращает объект View, он не распознает тип зрения возвращается. Вам нужно сделать ниже:

harryImageView = (ImageView) findViewById(R.id.harry);

Таким образом, вы скажите программу, чтобы увидеть возвращенную View как объект ImageView.

+0

Я сделал это, но даже при том, что программа говорила, что она не может отличить ... Она должна показать мне список предложений, и одно предложение должно быть выполнено, но они не предлагал, как ожидалось. – Leo

+0

Это основная функция Java, а не то, что обеспечивает IDE :-) Также, пожалуйста, отметьте ответ как правильный, если вы сочтете это полезным :-) – Kelevandos

0

Попробуйте следующий код, если (ImageView) не работает

(findViewById(R.id.harry) as ImageView)