Autore Topic: TabView,ListView e Activity  (Letto 484 volte)

Offline Pezz8

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc tattoo
  • Sistema operativo:
    Windows 7/Ubuntu
TabView,ListView e Activity
« il: 28 Ottobre 2010, 13:17:53 CEST »
0
salve a tutti, ho questo problema: nella mia applicazione ho fatto una TabView, ed in uno dei tab c'è una ListView; adesso vorrei fare che quando premo su di un elemento della ListView partisse una nuova activity, ma se lo faccio nel modo "normale", mi esplode il tutto. Vi posto il codice e vi ringrazio in anticipo:
Codice (Java): [Seleziona]
package com.metronapoli;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;

public class MyClass extends Activity {
        static final String[] LINEE = new String[] { "1","2" };
        Intent intent;
        Context context;
        SimpleAdapter adapter;
        ListView listview;

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.Myclass);
               
                intent = new Intent(getApplicationContext(),MyClass2.class);
               
                ArrayList<String> lineeList = new ArrayList<String>();
                String[] linee = { "1", "2"};

                for (int i = 0; i < linee.length; i++)
                        lineeList.add(linee[i]);

                // Questa è la lista che rappresenta la sorgente dei dati della listview
                // ogni elemento è una mappa(chiave->valore)
                ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();

                for (int i = 0; i < lineeList.size(); i++) {
                        // per ogni persona all'inteno della ditta
                        String p = lineeList.get(i);
                        // creiamo una mappa di valori
                        HashMap<String, Object> lineeCat2 = new HashMap<String, Object>();

                        // per la chiave image, inseriamo la risorsa dell immagine
                        lineeCat2.put("nome", p);

                        // aggiungiamo la mappa di valori alla sorgente dati
                        data.add(lineeCat2);
                }
                String[] from = { "nome" }; // dai valori contenuti in queste chiavi
                int[] to = { R.id.elem2 };// agli id delle view

                // costruzione dell adapter
                adapter = new SimpleAdapter(getApplicationContext(),
                                data, R.layout.elem2, from, to);

                // utilizzo dell'adapter
                listview=(ListView) findViewById(R.id.elemListView);
                listview.setAdapter(adapter);
               
                registerForContextMenu(listview);
                /*String pkg=getPackageName();
                String s=listview.getSelectedItem().toString();
        intent.putExtra(pkg+".myElem", s);*/

                listview.setOnItemClickListener(new OnItemClickListener(){

                        @Override
                        public void onItemClick(AdapterView<?> a, View v, int position, long id) {
                                // TODO Auto-generated method stub
                                AlertDialog.Builder adb=new AlertDialog.Builder(Myclass.this);
                                 adb.setTitle("LVSelectedItemExample");
                                 adb.setMessage("Selected Item is = "+position);
                                 adb.setPositiveButton("Ok", null);
                                 adb.show();
                                 startActivity(intent);
                        }});
        }
}

P.S. graficamente funziona tutto, ma appena clicko esplode!

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:TabView,ListView e Activity
« Risposta #1 il: 28 Ottobre 2010, 13:23:44 CEST »
0
Posta il logcat dell'esplosione...
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Online blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:TabView,ListView e Activity
« Risposta #2 il: 28 Ottobre 2010, 14:05:04 CEST »
0
Senza logcat non si capisce molto, peró ti posso ricordare che ogni activity va dichiarata nel manifest. Se non la dichiari anche nel manifest l'app crasha
Postate il LogCat LogCat LogCat LogCat LogCat

Offline Pezz8

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc tattoo
  • Sistema operativo:
    Windows 7/Ubuntu
Re:TabView,ListView e Activity
« Risposta #3 il: 28 Ottobre 2010, 21:53:45 CEST »
0
Codice: [Seleziona]
E/AndroidRuntime(12571): Caused by: java.lang.NullPointerException
E/AndroidRuntime(12571):        at com.prova.Orari.onCreate(Orari.java:40)

penso che il problema sia il NullPointer, ma dove è?o.o
« Ultima modifica: 28 Ottobre 2010, 22:11:19 CEST da Pezz8 »

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:TabView,ListView e Activity
« Risposta #4 il: 28 Ottobre 2010, 22:07:07 CEST »
0
com.metronapoli.Orari.onCreate(Orari.java:40)
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Pezz8

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc tattoo
  • Sistema operativo:
    Windows 7/Ubuntu
Re:TabView,ListView e Activity
« Risposta #5 il: 28 Ottobre 2010, 22:10:35 CEST »
0
grazie mille!!!! così ho capito anche come funziona logcat  :-* grazie mille jd ;)