2016-06-24 65 views
0

我無法在imageview上顯示圖像,我檢查了日誌,並且imageview爲空。該ID是正確的。如果我評論出畢加索指令,則列表視圖會正確顯示。 (我知道如果我使用viewHolder,它可以更高效,但它現在不是我正在尋找的)。Android Picasso ImageView null - 「目標不能爲空」

IncidenciaDetallada.java

public class IncidenciaDetallada extends AppCompatActivity { 

private String categoria, path_imagen, imagen_URL; 
private ArrayList<ItemListViewDetallado> datos = new ArrayList<>(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_incidencia_detallada); 
     getWindow().getDecorView().setBackgroundColor(Color.WHITE); 

     ListView listview_incidencia_detallada = (ListView) findViewById(R.id.listview_incidencia_detallada); 

     categoria = getIntent().getExtras().getString("categoria"); 
     path_imagen = getIntent().getExtras().getString("path_imagen"); 

     imagen_URL = "http://192.168.1.131/" + path_imagen; 

     ItemListViewDetallado item = new ItemListViewDetallado(categoria); 
     datos.add(item); 
     AdaptadorIncidencias adapter = new AdaptadorIncidencias(IncidenciaDetallada.this, datos); 
     listview_incidencia_detallada.setAdapter(adapter); 
    } 


    private class AdaptadorIncidencias extends ArrayAdapter<ItemListViewDetallado> { 

     public AdaptadorIncidencias(Context context, ArrayList<ItemListViewDetallado> datos) { 
      super(context, R.layout.list_item_incidencia_detallada, datos); 

     } 

     public View getView(int position, View convertView, ViewGroup parent) { 
      LayoutInflater inflater = LayoutInflater.from(getContext()); 
      View item = inflater.inflate(R.layout.list_item_incidencia_detallada, null); 

      TextView tv_categoria = (TextView)item.findViewById(R.id.tv_categoria); 
      tv_categoria.setText(categoria); 

      ImageView imagen_detalles = (ImageView) findViewById(R.id.imagen_detalles); 
        Picasso.with(getApplicationContext()).load(imagen_URL).into(imagen_detalles); 

      return(item); 
     } 
    } 
} 

list_item_incidencia_detallada.xml

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/style_et_tv" 
     android:padding="10dp" 
     android:textSize="18sp" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:id="@+id/tv_categoria" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="41dp" /> 

    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/imagen_detalles" 
     android:layout_gravity="center_horizontal" 
     android:contentDescription="@string/imagen_detalles" 
     android:layout_below="@+id/tv_categoria" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="107dp" /> 

    </RelativeLayout> 
+0

你能不能也發佈文件activity_incidencia_detallada.xml的內容:的

ImageView imagen_detalles = (ImageView) item.findViewById(R.id.imagen_detalles); 

instaead? – Sundeep

回答

0

忘記到適當的對象上調用findViewById。在你getView適配器方法,你應該叫:

ImageView imagen_detalles = (ImageView) findViewById(R.id.imagen_detalles); 
+0

謝謝R.Zagórski!我已經忘記了!!我已經對你投票積極,但我還沒有足夠的聲望;) – yuya

相關問題