Newsgroup: it.comp.java
Titolo: [ANDROID] Problema con ListView

Il seguente programma NON mi funziona, qualcuno mi spiega il perche?
La soluzione e' BANALE, ma io non riesco a trovarla.
Nel listato le keyword "setOnItemClickListener", "OnItemClickListener" e 
"onItemClick" sono tutte sottolineate
in rosso, PERCHE?
 
********** MainActivity **********
package com.prove.provaproject_25_ter;
 
import android.support.v7.app.ActionBarActivity;
import android.app.*;
import android.os.*;
import android.view.*;
import android.view.MenuItem;
import android.widget.*;
import android.content.*;
import android.content.ContextWrapper;
 
public class MainActivity extends Activity {
 
	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
 
		String[] citta=new String[]{"Torino","Roma","Milano","Napoli","Firenze"};
	      ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, 
R.layout.row,citta);
	      ListView listView = (ListView) findViewById(R.id.listview);
	      listView.setAdapter(adapter);	
 
	  	// Quando uno clicca sulla ListView
	    listView = (ListView) findViewById(R.id.listview);
		listView.setOnItemClickListener(new OnItemClickListener()
		{
		    @Override
		    public void onItemClick(AdapterView<?> av, View v, int pos,long id)
		    {
		        Toast.makeText(getApplicationContext(),
		                "Selezionato", Toast.LENGTH_LONG).show();
		    }
		});
 
 
	}
 
	/*
	@Override
	public void onListItemClick(ListView lv,View clickedView,int 
position,long id)
	{
		super.onListItemClick(lv,clickedView,position,id);
		TextView tv=(TextView) clickedView;
		Toast.makeText(getApplicationContext(),
				"List item "+tv.getText()+" was clicked",
				Toast.LENGTH_LONG).show();
	}
	*/
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, 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);
	}
 
}
 
********** activity_main.xml **********
<ListView xmlns:android="
http://schemas.android.com/apk/res/android
"
      android:id="@+id/listview"
      android:layout_width="match_parent"
      android:layout_height="match_parent"/>
 
********** row.xml **********
<TextView xmlns:android="
http://schemas.android.com/apk/res/android
"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:textSize="30dp"
      />
 
---
Questa e-mail è priva di virus e malware perché è attiva la protezione avast! Antivirus.
http://www.avast.com
 
 

 in rosso, PERCHE?
se voli il mouse sopra le parole sottolineate, ti compare magicamente il 
perche'.
 
Mi sembrava di averti gia' detto di risolvere gli import: fallo.
Cosi' chi legge si rende conto se, ad esempio, OnItemClickListener e' 
stato importato correttamente oppure no.
 

 stato importato correttamente oppure no.
 
Quando con il mouse vado sopra a "setOnItemClickListener" mi appare il 
seguente testo:
 
The method setOnItemClickListener(AdapterView.OnItemClickListener) in 
the type AdapterView<ListAdapter> is
not applicable for the arguments (new OnItemClickListener(){})


 stato importato correttamente oppure no.
 
Egregio Dr.Gagliardelli,
aveva ragione lei.
 
Andando con il mouse sopra a "OnItemClickListener" tra le opzioni 
proposte c'e' anche quella di importare la
classe "android.widget.AdapterView.OnItemClickListener", non l'avevo notata.
Importando quella classe il programmma funziona correttamente.


 not applicable for the arguments (new OnItemClickListener(){})
Quindi i casi sono due, o non hai importato la classe 
OnItemClickListener o hai importato una classe OnItemClickListener che 
non e' quella che si aspetta il metodo setOnItemClickListener di 
AdapterView.
 

 aveva ragione lei.
A volte mi capita! :-)