Autore Topic: Problema nell' assegnare funzioni tramite java a widget creati con xml  (Letto 2037 volte)

Offline Rampo

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Google+
    • PiRampo
    • Mostra profilo
  • Dispositivo Android:
    HTC One (Android 4.1.2 Stock)
  • Play Store ID:
    PiKo Technologies
  • Sistema operativo:
    Windows 7, Mac OS X Lion 10.8.3
Salve ragazzi volevo chiedervi come posso  fare in modo che un widget (descritto dal R.java come
Codice: [Seleziona]
button1, creato nel file di layout
Codice: [Seleziona]
main.xml) venga importato o richiamato nel codice java per assegnarli una funzione come per esempio un toast?
Codice (XML): [Seleziona]
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Backup"></Button>Questo è il codice dell'xml.
Di conseguenza volevo chiedere come, cliccando sul bottone (quello che dovrei riuscire ad importare, button1 si intende) posso richiamare un altro layout descritto o con l'xml in un secondo file xml
Codice: [Seleziona]
layoutb.xml o quello presente in un altra activity.
« Ultima modifica: 20 Ottobre 2011, 22:18:33 CEST da Rampo »

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #1 il: 20 Ottobre 2011, 22:23:50 CEST »
+1
Spero di aver capito.
Ma la tua richiesta è di abbinare un evento click al button1 oppure di caricare un altro layout nella stessa activity ?
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline Rampo

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Google+
    • PiRampo
    • Mostra profilo
  • Dispositivo Android:
    HTC One (Android 4.1.2 Stock)
  • Play Store ID:
    PiKo Technologies
  • Sistema operativo:
    Windows 7, Mac OS X Lion 10.8.3
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #2 il: 20 Ottobre 2011, 22:26:55 CEST »
0
entrambi, ma è più importante la prima, richiamare il button1 dal xml in modo da assegnarli funzioni, come ad esempio un toast o il caricamento di un layout secondario preso da un altra activity oppure da un altro file xml di layout

(adesso ti ho esposto le 2 domande in una sola)

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #3 il: 20 Ottobre 2011, 22:56:00 CEST »
+1
Per l'evento del click io conosco 3 metodi:

1-l'evento viene richiamato dal xml esempio:
nel tuo xml hai:
Codice (XML): [Seleziona]
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Backup" [u]android:onClick="funzioneclick"[/u]/>></Button>nel tuo java avrai la seguente funzione:
Codice: [Seleziona]
public void funzioneclick(View v)
        {
                Toast.makeText(nomeclasse.this, "Questo è un toast.", Toast.LENGTH_LONG).show();
        }


2-Evento associato al singolo button, esempio
 Hai il tuo solito xml stavolta senza il tag Onclick:
Codice (XML): [Seleziona]
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Backup"></Button>nel tuo java avrai la dichiarazione dell'oggetto button:
Codice: [Seleziona]
Button btn;

dopo la funzione  oncreate avrai il seguente codice per abbinare l'oggetto btn dichiarato con quello presente nel xml
Codice: [Seleziona]
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener()
                {
                        public void onClick(View v)
                        {
                                // TODO Auto-generated method stub
                                //fai qualcosa
                        }

                });


3-Avrai un listener dove all'interno potrai gestire più oggetti, esempio:
Hai il solito xml stavolta con due bottoni (button1 e button2)
Nel file java dovrai inizializzare la classe in questo modo nota l'aggiunta di Implements OnclickListener:
Codice: [Seleziona]
public class nomeclasse extends Activity implements OnClickListener
poi devi dichiarare i 2 button nel java:

Codice: [Seleziona]
Button btn;
Button btn2;

dopo la funzione  oncreate avrai il seguente codice per abbinare l'oggetto btn e btn2 dichiarato con quelli presenti nel xml
Codice: [Seleziona]
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn.setOnClickListener(this);

//l'ento generale del click
public void onClick(View v)
        {
                //Listener click
                if (v == btn)
                {
                        //fai qualcosa
                }

                             if (v == btn2)
                {
                        //fai qualcosa
                }

               
        }


 Spero che questi esempi ti possano aiutare.
Per il caricamento di un altro file xml come layout conviene farlo dopo prima concludi l'attività del button
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline Rampo

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Google+
    • PiRampo
    • Mostra profilo
  • Dispositivo Android:
    HTC One (Android 4.1.2 Stock)
  • Play Store ID:
    PiKo Technologies
  • Sistema operativo:
    Windows 7, Mac OS X Lion 10.8.3
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #4 il: 21 Ottobre 2011, 15:14:49 CEST »
0
tutto ok tranne l'errore di quando si parla di btn

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #5 il: 21 Ottobre 2011, 15:21:42 CEST »
+1
Devi dichiarlo dopo la creazione della classe esempio:
Codice: [Seleziona]
public class Prova extends Activity {

Button btn;

« Ultima modifica: 21 Ottobre 2011, 15:23:13 CEST da Luigi.Arena »
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #6 il: 21 Ottobre 2011, 15:28:31 CEST »
+1
tutto ok tranne l'errore di quando si parla di btn

Forse dovresti farti tutti i tutorial HelloXXXX presenti su Android.com, anche solo per familiarizzare col java.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Rampo

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Google+
    • PiRampo
    • Mostra profilo
  • Dispositivo Android:
    HTC One (Android 4.1.2 Stock)
  • Play Store ID:
    PiKo Technologies
  • Sistema operativo:
    Windows 7, Mac OS X Lion 10.8.3
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #7 il: 21 Ottobre 2011, 15:33:02 CEST »
0
Grazie, sono alle prime armi e sto studiando su una 15 di PDF che ho trovato (fatti bene tra l'altro tutti in italiano). Ora passero anche per android.com.

Offline Rampo

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Google+
    • PiRampo
    • Mostra profilo
  • Dispositivo Android:
    HTC One (Android 4.1.2 Stock)
  • Play Store ID:
    PiKo Technologies
  • Sistema operativo:
    Windows 7, Mac OS X Lion 10.8.3

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Rampo

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Google+
    • PiRampo
    • Mostra profilo
  • Dispositivo Android:
    HTC One (Android 4.1.2 Stock)
  • Play Store ID:
    PiKo Technologies
  • Sistema operativo:
    Windows 7, Mac OS X Lion 10.8.3
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #10 il: 26 Ottobre 2011, 23:03:17 CEST »
0
Ho provato ha fare un po' di pratica e mi è venuto sto codice (con errore  :'( )
Codice: [Seleziona]
package com.prova.app;



import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ToggleButton;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;

public class ProvaApplicazioneActivity extends Activity {
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main); }
       
                public void onCreate1(Bundle savedInstanceState) {setContentView(R.layout.main);
        Button btn = (Button) findViewById(R.id.button1);
        btn.setOnClickListener(new OnClickListener() ); }
                       
                public void funzioneclick(View v)
        {
                Toast.makeText(ProvaApplicazioneActivity.this, "Questo è un toast.", Toast.LENGTH_LONG).show();
        }

con errore alla 25° riga
Codice: [Seleziona]
btn.setOnClickListener(new OnClickListener() ); }su
Codice: [Seleziona]
OnClickListener"Multiple markers at this line
   - Cannot instantiate the type View.OnClickListener
   - Line breakpoint:ProvaApplicazioneActivity [line: 25] -
    onCreate1(Bundle) "
che fatica sti Listener!!!

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #11 il: 27 Ottobre 2011, 09:08:44 CEST »
+1
Hai messo 2 Oncreate  o_O

Non credo che nei tutorial ci sia l'esempio postato da te.
Modificalo così:
Codice: [Seleziona]
package com.prova.app;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ToggleButton;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;

public class ProvaApplicazioneActivity extends Activity
  {
        public void onCreate(Bundle savedInstanceState)
 {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);         
           Button btn = (Button) findViewById(R.id.button1);
        btn .setOnClickListener(new Button.OnClickListener()
{   
        public void onClick(View v)
            {
                //perform action
               Toast.makeText(ProvaApplicazioneActivity.this, "Questo è un toast.", Toast.LENGTH_LONG).show();

            }
         });
}
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline Rampo

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Google+
    • PiRampo
    • Mostra profilo
  • Dispositivo Android:
    HTC One (Android 4.1.2 Stock)
  • Play Store ID:
    PiKo Technologies
  • Sistema operativo:
    Windows 7, Mac OS X Lion 10.8.3
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #12 il: 27 Ottobre 2011, 14:51:31 CEST »
0
Un ultima cosa poi non vi rompo più.  :-[
Non riesco a trovarlo su android.com , neanche nei tutorial:
Nella seconda activity (che deve  essere Button,Button1 o btn?) cosa devo mettere sempre per il toast?

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #13 il: 27 Ottobre 2011, 14:57:18 CEST »
+1
Non ho capito la domanda  :-(
Button è un oggetto pulsante, btn è una variabile, Button1 è un'altra variabile che puoi usare come vuoi.
Ti consiglio di seguire il le indicazioni date da Bradipao, segui i tutorial alla lettere ed una volta verificato che funziona giocaci un pò.
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
  • Respect: +16
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
Re:Problema nell' assegnare funzioni tramite java a widget creati con xml
« Risposta #14 il: 27 Ottobre 2011, 15:38:33 CEST »
+1
ti consiglio di guardare questa guida:
http://www.risorsegeek.net/wp-content/uploads/2010/12/user_interface2.pdf
anche io ho iniziato da poco con java e android, ma con questa guida le cose basilari diventano chiare abbastanza velocemente.
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!