Ciao a tutti,
sono un nuovo utente e sono un filo esasperato...
Vi spiego il mio problema, che cercato in internet ma non mi pare di aver trovato nulla di significativo...
Quello che vorrei fare è avere una ListView composta da una textView e due pulsanti...
I due pulsanti devono avere due comportamenti differenti:
_uno deve avviare una nuova attività
_l'altro deve aprire una AlertDialog
Per ora riesco solo a comporre la ListView, ma qui mi sono arenato...
Voglio dire, non so come associare ai bottoni l'evento "click"
1private static class EfficientAdapterTesto extends BaseAdapter
2{
3
4private LayoutInflater mInflater;
5
6//Attributo contenente la lista di categorie da stampare
7private String [] categories;
8
9//Costruttore
10public EfficientAdapterTesto(Context context, String [] _categories)
11{
12categories = _categories;
13mInflater = LayoutInflater.from(context);
14}
15
16//Lunghezza della lista delle categorie
17public int getCount()
18{
19return categories.length;
20}
21
22public Object getItem(int position)
23{
24return position;
25}
26public long getItemId(int position)
27{
28return position;
29}
30
31//Metodo di costruzione del singolo item della lista
32public View getView(int position, View convertView, ViewGroup parent)
33{
34ViewHolder holder;
35
36if (convertView == null)
37{
38//Assegno l'aspetto grafico (xml) al singolo item
39//tramite il file list_view.xml
40convertView = mInflater.inflate(R.layout.list_view, null);
41holder = new ViewHolder();
42//recupero gli id degli elementi
43holder.text2 = (TextView)convertView.findViewById(R.id.TextView02);
44holder.delete = (Button)convertView.findViewById(R.id.cancella);
45holder.details = (Button)convertView.findViewById(R.id.dettagli);
46convertView.setTag(holder);
47}
48else
49{
50holder = (ViewHolder) convertView.getTag();
51}
52
53//Imposto il testo del item in posizione position
54holder.text2.setText(categories[position]);
55
56return convertView;
57}
Per come ho scritto il codice estendo una classe per personalizzare ogni singolo Item, ma quando provo ad inserire la riga di codice
51holder.delete.setOnClickListener(new View.OnClickListener() {
2public void onClick(View v) {
3FAI QUALCOSA
4}
5});
dove fai qualcosa in questo caso è una AlertDialog, il sistema mi dice che non conosce l'alterDialog. Ho provato a crearmi un metodo che viene richiamto, sempre all'interno della classe EfficientAdapter, ma anche in questo caso ho un grosso problema, in quanto il costruttore della classe AlertDialog vuole il context...e non so come recuperlo...
Avevo messo una vairabile globale, ma diceva che non potevo usare oggenti non statici in un ambiente statico...
Suggerimenti??