Autore Topic: [ListView] Elementi non visualizzati  (Letto 253 volte)

Offline Mate13

  • Nuovo arrivato
  • *
  • Post: 16
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Sistema operativo:
    Mac OS X 10.11
[ListView] Elementi non visualizzati
« il: 01 Luglio 2016, 18:36:58 CEST »
0
Salve a tutti,
sto sviluppando una ListView con due textbox e una ImageView. Sia nel codice XML che in quello Java non ci sono errori rilevati dal compilatore ma una volta avviata l'app non viene visualizzato niente.
Lo stesso tipo di codice lo avevo utilizzato altre volte e ha sempre funzionato ma sta volta non riesco a capire dove sia l'errore.
Vi allego il MainActivity.java
Codice (Java): [Seleziona]
package it.matteovisotto.ricettario;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    final int[] id_type = new int[] {1,2,3,4,5,0};
    final int[] type_name = new int[] {R.string.entrees, R.string.fist, R.string.main_courses, R.string.side_dishes, R.string.desserts, R.string.other};
    final int[] img_type = new int[] {R.drawable.antipasti, R.drawable.primi, R.drawable.secondi, R.drawable.contorni, R.drawable.dolci, R.drawable.altro};

    private List<HashMap<String, Integer>> fillList(int[] id, int[] name, int[] img){

        List<HashMap<String, Integer>> fillMaps = new ArrayList<HashMap<String, Integer>>();

        for (int i = 0; i == id.length; i++) {
            HashMap<String, Integer> map = new HashMap<String, Integer>();
            map.put("id", id[i]);
            map.put("type", name[i]);
            map.put("img", img[i]);
            fillMaps.add(map);
        }

        return  fillMaps;
    }

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


        final ListView lista = (ListView) findViewById(R.id.mainList);

        final SimpleAdapter adapter;

        String[] from = new String[]{"id", "type", "img"};
        int[] to = new int[]{R.id.mainId, R.id.mainName, R.id.mainImage};

        List<HashMap<String, Integer>> fillMaps = fillList(id_type, type_name, img_type);


        adapter = new SimpleAdapter(this, fillMaps, R.layout.main_list, from, to);
        lista.setAdapter(adapter);


    }

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

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        int id = item.getItemId();

        if (id == R.id.action_settings) {

            Toast.makeText(this, R.string.no_settings, Toast.LENGTH_SHORT).show();

        } else if (id == R.id.action_about){

            Toast.makeText(this, R.string.no_about, Toast.LENGTH_SHORT).show();
        }

        return super.onOptionsItemSelected(item);
    }
}

il activity_main.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:fitsSystemWindows="true"
   tools:context="it.matteovisotto.ricettario.MainActivity">

    <ListView
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:id="@+id/mainList"/>

</android.support.design.widget.CoordinatorLayout>

e il list_layout.xml per la grafica della listview
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="match_parent"
   android:layout_height="match_parent">

    <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content">

        <ImageView
           android:layout_width="100dp"
           android:layout_height="100dp"
           android:layout_gravity="center_vertical"
           android:padding="7dp"
           android:id="@+id/mainImage"
           android:src="@drawable/altro"/>


        <LinearLayout
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:orientation="vertical"
           android:layout_gravity="center_vertical">

            <TextView
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:text="#"
               android:id="@+id/mainId"
               android:paddingLeft="6dip"
               android:paddingTop="6dip"
               android:textSize="15sp"
               android:gravity="right"
               android:paddingRight="6dip"/>


            <TextView
               android:id="@+id/mainName"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:layout_marginBottom="5dp"
               android:paddingLeft="6dip"
               android:paddingTop="3dip"
               android:textColor="#000000"
               android:textSize="25sp"
               android:text="@string/other"/>

        </LinearLayout>

    </LinearLayout>

</LinearLayout>

Spero che qualcuno possa aiutarmi, ho riscritto il codice più volte anche in un nuovo progetto e il problema è sempe lo stesso

Offline Carni

  • Utente junior
  • **
  • Post: 62
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    R3D5HA
  • Sistema operativo:
    Windows 10
Re:[ListView] Elementi non visualizzati
« Risposta #1 il: 03 Luglio 2016, 17:33:46 CEST »
0
Hai controllato se nel Log è presente qualche errore riguardante la lista?

Offline Mate13

  • Nuovo arrivato
  • *
  • Post: 16
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Sistema operativo:
    Mac OS X 10.11
Re:[ListView] Elementi non visualizzati
« Risposta #2 il: 03 Luglio 2016, 20:09:29 CEST »
0
Si ho controllato, non ci sono errori durante l'esecuzione