Visualizzazione stampabile
-
ciao a tutti , oggi ho avuto un'oretta libera è ho continuato a leggere il libro però mi sono blocato subito .
per chi conosce il libro sono arrivato a pagina 65 dove viene detto
Quote:
non ci resta quindi di editare la classe resourcelayoutActivity , che descrive appunto l'unica attività della nostra applicazione , e che vediamo solamente nel metodo onCreate () (il lettore potra trovare il codice completo nel file degli esempi disponibili online
ho editato cioè aggingendo al mio file
Quote:
package it.apogeo.android.cap3.project;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
public class projectactivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
questo pezzo (copiato paro paro dal libro)
Quote:
Button pressButton = (Button) findViewById(R.id.pressButton);
final TextView outputView = (TextView) findViewById(R.id.output);
pressButton.setOnClickListener (new OnClickListener () {
public void onClick(view v){
outputView.SetText("Click # " + counter++);
}
});
}
}
compilo il tutto e mi vengono 3 errori :
Quote:
- OnClickListener cannot be resolved to a type
- TextView cannot be resolved to a type
- TextView cannot be resolved to a type
cliccando sui relativi errori mi seleziona la parte interessata (quelle parti le evidenzio in rosso .
tralaltro nella righa
Quote:
pressButton.setOnClickListener (new OnClickListener () {
non riesco a capire perche c'e una parentesi tonda che non verrà neanche nelle righe successive pareggiata con una ")" ??
finendo il mio post ... ho scaricato gli esempi e dopo aver aperto il file "ResourceLayout" vedo che il codice e completamente diverso da quello del libro
ecco lo stesso file "ResourceLayoutActivity.java"
Quote:
package it.apogeo.android.cap03.resourcelayout;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class ResourceLayoutActivity extends Activity {
// COntatore
private int counter = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Otteniamo il riferimento al Button
Button pressButton = (Button) findViewById(R.id.pressButton);
// Otteniamo il riferimento alla TextView
final TextView outputView = (TextView) findViewById(R.id.output);
// Ascoltiamo l'evento di pressione associato al pulsante
pressButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
outputView.setText("Click # " + counter++);
}
});
}
}
per risolvere il tutto e far funzionare l'applicazione cosa dovrei fare . inoltre mi potete consigliare dove trovare degli esempi simili (magari senza parti di codice non scritte :) )a questo così da poter fare esperienza. grazie ciao
-
Ciao, al3x88, guarda chi si vede! :)
Allora, premesso che non ho il libro in questione, provo a rispondere un po' al buio..
1) nel codice
codice:
pressButton.setOnClickListener (new OnClickListener () {
ci vuole SICURAMENTE la parentesi tonda chiusa finale.
2) puoi trovare qui degli esempi di codice:
Developer Resources | Android Developers
Nel menu di sinistra, espandi la voce "List of samples" e vedi cosa trovi.
-
ciao , grazie per l'ulteriore aiuto ;) ...pultroppo però non va o almeno si è aggiunto un errore (ora non ricordo bene cmq voleva che tolga la ")" .cmq lascio stare quell'esempio del libro guardo il link che mi hai inviato grazie :-) ciao : ps:ho visto l'ora che hai postato (nottambulo ? :) ) tralaltro mi sono soffermato e vedo che sei di rivoli (to) vero? pure io sono di torino ... ciao
-
Si, al3x88. Sto a Rivoli.
Edit: Ho provato, e da' un errore anche a me, anche se Eclipse suggerisce quel metodo.
Prova a fare cosi':
codice:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Otteniamo il riferimento al Button
Button pressButton = (Button) findViewById(R.id.pressButton);
// Otteniamo il riferimento alla TextView
final TextView outputView = (TextView) findViewById(R.id.output);
// Ascoltiamo l'evento di pressione associato al pulsante
pressButton.setOnClickListener(this);
}
public void onClick(View v) {
outputView.setText("Click # " + counter++);
}
...ovvero, metti il metodo onClick FUORI dal metodo onCreate.
-
ho ricreato il progetto e editato , mi vengono fuori 7 errori - Button cannot be resolved to a type
- Button cannot be resolved to a type
- counter cannot be resolved
- outputView cannot be resolved
- TextView cannot be resolved to a type
- View cannot be resolved to a type
ho la testa che fuma :O ... :) ciao
-
devi importare le classi Button ecc
eclipse lo dovrebbe fare da solo però!
-
grazie eafkuor ... chissà perche non le importa , forse qualche impostazione ? da settare ? in alternativa cosa dovrei fare manualmente ( domani mattina cerco anchio soluzioni sul perchè non lo fa in automatico ... ciao buon notte a tutti :)