Autore Topic: Bottone non cliccabile dopo Visibility = GONE  (Letto 1901 volte)

Offline dom4

  • Utente normale
  • ***
  • Post: 158
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Vodafone Ideos, Nexus 5
Bottone non cliccabile dopo Visibility = GONE
« il: 25 Maggio 2012, 11:29:42 CEST »
0
Buongiorno ragazzi ho questo problema,ho uno spinner e due bottoni con visibilità settata a Gone nell'xml, nel codice al click su un bottone li visualizzo, il problema è che non sono cliccabili,non riesco a catturare il click, e non me capisco il motivo.
L'xml è il seguente:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:background="@color/white" >

        <Button
           android:id="@+id/buttonMenuCaricoRepartoTGM"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentRight="true"
           android:layout_alignParentTop="true"
           android:text="Menu" />

        <TextView
           android:id="@+id/textViewMOrigine"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentLeft="true"
           android:layout_below="@+id/buttonMenuCaricoRepartoTGM"
           android:text="Magazzino Origine :"
           android:textAppearance="?android:attr/textAppearanceSmall"
           android:textColor="@color/grey" />

        <TextView
           android:id="@+id/textViewNomeMagazzinoOrigine"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_below="@+id/buttonMenuCaricoRepartoTGM"
           android:layout_marginLeft="16dp"
           android:layout_toRightOf="@+id/textViewMOrigine"
           android:text="origine"
           android:textAppearance="?android:attr/textAppearanceSmall"
           android:textColor="@color/grey" />

        <TextView
           android:id="@+id/textViewMDestinazione"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentLeft="true"
           android:layout_below="@+id/textViewMOrigine"
           android:text="Magazzino Destinazione :"
           android:textAppearance="?android:attr/textAppearanceSmall"
           android:textColor="@color/grey"
           android:layout_marginTop="20dp"
           android:visibility="gone" />

        <TextView
           android:id="@+id/textViewNomeMagazzinoDestinazione"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBaseline="@+id/textViewMDestinazione"
           android:layout_alignBottom="@+id/textViewMDestinazione"
           android:layout_toRightOf="@+id/textViewMDestinazione"
           android:text="destinazione"
           android:textAppearance="?android:attr/textAppearanceSmall"
           android:textColor="@color/grey"
           android:visibility="gone" />

        <Spinner
           android:id="@+id/spinnerDestinazione"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentLeft="true"
           android:layout_marginTop="20dp"
           android:layout_below="@+id/textViewMOrigine" />

        <Button
           android:id="@+id/buttonScegliReparto"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_below="@+id/textViewMOrigine"
           android:layout_centerHorizontal="true"
           android:layout_marginTop="20dp"
           android:layout_alignBaseline="@+id/spinnerDestinazione"
           android:layout_alignBottom="@+id/spinnerDestinazione"
           android:layout_toRightOf="@+id/spinnerDestinazione"
           android:text="Seleziona" />

        <Button
           android:id="@+id/buttonModificaReparto"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBaseline="@+id/textViewNomeMagazzinoDestinazione"
           android:layout_alignBottom="@+id/textViewNomeMagazzinoDestinazione"
           android:layout_marginLeft="14dp"
           android:layout_toRightOf="@+id/textViewNomeMagazzinoDestinazione"
           android:text="Modifica"
           android:visibility="gone"
            />

        <Spinner
           android:id="@+id/spinnerSelezionaTipologiaBombole"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentLeft="true"
           android:layout_marginTop="20dp"
           android:visibility="gone"
           android:layout_below="@+id/textViewMDestinazione" />
       
        <Button
           android:id="@+id/buttonScegliBombola"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_centerHorizontal="true"
           android:layout_toRightOf="@+id/spinnerSelezionaTipologiaBombole"
           android:layout_alignBaseline="@+id/spinnerSelezionaTipologiaBombole"
           android:layout_alignBottom="@+id/spinnerSelezionaTipologiaBombole"
           android:layout_marginTop="20dp"
           android:visibility="gone"
           android:text="Seleziona Bombola" />

        <ListView
           android:id="@+id/listViewBomboleSelezionate"
           android:layout_width="match_parent"
           android:layout_height="200dp"
           android:layout_alignParentLeft="true"
           android:layout_below="@+id/spinnerDestinazione" >
        </ListView>

        <LinearLayout
           android:id="@+id/linearLayout1"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_alignParentLeft="true"
           android:layout_below="@+id/listViewBomboleSelezionate" >

            <Spinner
               android:id="@+id/spinnerStatoCarico"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_weight="1" />
             <Button
             android:id="@+id/buttonNotaCarico"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_toRightOf="@+id/spinnerStatoCarico"
             android:layout_weight="1"
             android:text="Nota" />

             <Button
                android:id="@+id/buttonPDFCarico"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Crea PDF" />

             <Button
                android:id="@+id/buttonSalvaCarico"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Salva" />

        </LinearLayout>

       
    </RelativeLayout>

E questo il codice Java:
Codice (Java): [Seleziona]
package com.magalditechno.tgm.operazioni;

import com.magalditechno.tgm.R;
import com.magalditechno.tgm.database.DataBaseTGM;

import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
import android.widget.TextView;

public class CreaCaricoTGMActivity extends Activity {
       
        private Button buttonMenuCR, buttonScegliReparto, buttonModificaReparto, buttonScegliBombola, buttonNotaCarico, buttonPDF, buttonSalva;
        private TextView textnomeMO, textnomeMD, textviewdest;
        private Spinner spinnerDestinazione, spinnerSelezionaBombole,spinnerStatoCarico;
        private ListView listviewBomboleSelezionate;
        private DataBaseTGM db;
        String itemselectedDestinazione,itemselectedTipoBombola;
        SimpleCursorAdapter adapter;

         @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.caricorepartotgm);
               
                buttonMenuCR = (Button) findViewById(R.id.buttonMenuCaricoRepartoTGM);
                buttonScegliReparto = (Button) findViewById(R.id.buttonScegliReparto);
                buttonScegliBombola = (Button) findViewById(R.id.buttonScegliBombola);
                buttonModificaReparto = (Button) findViewById(R.id.buttonModificaReparto);
                buttonNotaCarico = (Button) findViewById(R.id.buttonNotaCarico);
                buttonPDF = (Button) findViewById(R.id.buttonPDFCarico);
                buttonSalva = (Button) findViewById(R.id.buttonSalvaCarico);
                textnomeMO = (TextView) findViewById(R.id.textViewNomeMagazzinoOrigine);
                textnomeMD = (TextView) findViewById(R.id.textViewNomeMagazzinoDestinazione);
                textviewdest = (TextView) findViewById(R.id.textViewMDestinazione);
                spinnerDestinazione = (Spinner) findViewById(R.id.spinnerDestinazione);
                spinnerSelezionaBombole = (Spinner) findViewById(R.id.spinnerSelezionaTipologiaBombole);
                spinnerStatoCarico = (Spinner) findViewById(R.id.spinnerStatoCarico);
               
               
       
                db = new DataBaseTGM(this);
                        db.open();
               
                Cursor cursorM = db.getMagazzinoCentrale();
                cursorM.moveToFirst();
                textnomeMO.setText(cursorM.getString(cursorM.getColumnIndex("Nome")));
                cursorM.close();
               
                cursorM = db.getMagazziniPeriferici();
                cursorM.moveToNext();
                String[] from = new String[]{"Nome"};
                // create an array of the display item we want to bind our data to
                int[] to = new int[]{android.R.id.text1};
                // create simple cursor adapter
                adapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, cursorM, from, to);
                adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
                // get reference to our spinner
            spinnerDestinazione.setAdapter(adapter);
//          cursorM.close();
                           
            spinnerDestinazione.setOnItemSelectedListener(new OnItemSelectedListener() {

                           @Override
                           public void onItemSelected(AdapterView<?> adpeterView, View view, int position, long id) {
                                   Cursor c = (Cursor) adpeterView.getItemAtPosition(position);
                           itemselectedDestinazione = c.getString(c.getColumnIndex("Nome"));
                                   Log.i("","ItemSelezionato : "+itemselectedDestinazione.toString());
                                   }

                           @Override
                           public void onNothingSelected(AdapterView<?> arg0) {
                                // TODO Auto-generated method stub
                               
                                }
             });
           
            buttonScegliReparto.setOnClickListener(new OnClickListener() {
                               
                                @Override
                                public void onClick(View v) {
                                        // TODO Auto-generated method stub
                                       
                                spinnerDestinazione.setVisibility(View.GONE);
                                buttonScegliReparto.setVisibility(View.GONE);
                                textviewdest.setVisibility(View.VISIBLE);
                                textnomeMD.setVisibility(View.VISIBLE);
                                textnomeMD.setText(itemselectedDestinazione.toString());
                                buttonModificaReparto.setVisibility(View.VISIBLE);
                                spinnerSelezionaBombole.setVisibility(View.VISIBLE);
                                buttonScegliBombola.setVisibility(View.VISIBLE);
                                }
                        });
         
           buttonModificaReparto.setOnClickListener(new OnClickListener() {
                               
                                @Override
                                public void onClick(View v) {
                                        // TODO Auto-generated method stub
                                        Log.i("","Cliccato modifica");
                                        textviewdest.setVisibility(View.GONE);
                                        textnomeMD.setVisibility(View.GONE);
                                        buttonModificaReparto.setVisibility(View.GONE);
                                        spinnerSelezionaBombole.setVisibility(View.GONE);
                                        buttonScegliBombola.setVisibility(View.GONE);
                                        spinnerDestinazione.setVisibility(View.VISIBLE);
                                        buttonScegliReparto.setVisibility(View.VISIBLE);
                                       
                                }
                        });
           
                   
            Cursor cursorT = db.getTipologiaBombola();
                cursorT.moveToNext();
                String[] from1 = new String[]{"Nome"};
                // create an array of the display item we want to bind our data to
                int[] to1 = new int[]{android.R.id.text1};
                // create simple cursor adapter
                adapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, cursorT, from1, to1 );
                adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
                // get reference to our spinner
            spinnerSelezionaBombole.setAdapter(adapter);
             
           
            spinnerSelezionaBombole.setOnItemSelectedListener(new OnItemSelectedListener() {

                           @Override
                           public void onItemSelected(AdapterView<?> adpeterView, View view, int position, long id) {
                                   Cursor c = (Cursor) adpeterView.getItemAtPosition(position);
                           itemselectedTipoBombola = c.getString(c.getColumnIndex("Nome"));
                                   Log.i("","ItemSelezionato : "+itemselectedTipoBombola.toString());
                           }

                           @Override
                           public void onNothingSelected(AdapterView<?> arg0) {
                                // TODO Auto-generated method stub
                               
                                }
             });
           
            buttonScegliBombola.setOnClickListener(new OnClickListener() {
                               
                                @Override
                                public void onClick(View v) {
                                        // TODO Auto-generated method stub
                                Log.i("","Cliccato scegli bombola");   
                                }
                        });
   }
                 
           
}

Allego anche le schermate.Purtroppo non catturo il click..

Offline emaborsa

  • Utente normale
  • ***
  • Post: 274
  • Java Developer
  • Respect: +33
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win8.1 - Android 4.1.2
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #1 il: 25 Maggio 2012, 14:24:53 CEST »
+1
Prova a dichiarare nel xml:
Codice (XML): [Seleziona]
android:onclick="nomedelmetodo"
 e nel codice
 
Codice (Java): [Seleziona]
public void nomedelmetodo(View v){
//codice eseguito al click del bottone
};

Offline dom4

  • Utente normale
  • ***
  • Post: 158
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Vodafone Ideos, Nexus 5
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #2 il: 25 Maggio 2012, 16:04:53 CEST »
0
Prova a dichiarare nel xml:
Codice (XML): [Seleziona]
android:onclick="nomedelmetodo"
 e nel codice
 
Codice (Java): [Seleziona]
public void nomedelmetodo(View v){
//codice eseguito al click del bottone
};

Grazie per la risposta,ho provato a fare come mi hai suggerito,ma senza risultati purtroppo,comunque non catturo il click.
Codice (XML): [Seleziona]
 <Button
           android:id="@+id/buttonScegliReparto"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_below="@+id/textViewMOrigine"
           android:layout_centerHorizontal="true"
           android:layout_marginTop="20dp"
           android:layout_alignBaseline="@+id/spinnerDestinazione"
           android:layout_alignBottom="@+id/spinnerDestinazione"
           android:layout_toRightOf="@+id/spinnerDestinazione"
           android:text="Seleziona"
           android:onClick="aggiungibottoni" />
Codice (Java): [Seleziona]
 public void aggiungibottoni(View v)
         {
                       
                        spinnerDestinazione.setVisibility(View.GONE);
                        buttonScegliReparto.setVisibility(View.GONE);
                        textviewdest.setVisibility(View.VISIBLE);
                        textnomeMD.setVisibility(View.VISIBLE);
                        textnomeMD.setText(itemselectedDestinazione.toString());
                        buttonModificaReparto.setVisibility(View.VISIBLE);
                        spinnerSelezionaBombole.setVisibility(View.VISIBLE);
                        buttonScegliBombola.setVisibility(View.VISIBLE);
                       
                         buttonModificaReparto.setOnClickListener(new OnClickListener() {
                                       
                                        @Override
                                        public void onClick(View v) {
                                                // TODO Auto-generated method stub
                                                Log.i("","Cliccato modifica");
                                                textviewdest.setVisibility(View.GONE);
                                                textnomeMD.setVisibility(View.GONE);
                                                buttonModificaReparto.setVisibility(View.GONE);
                                                spinnerSelezionaBombole.setVisibility(View.GONE);
                                                buttonScegliBombola.setVisibility(View.GONE);
                                                spinnerDestinazione.setVisibility(View.VISIBLE);
                                                buttonScegliReparto.setVisibility(View.VISIBLE);
                                               
                                        }
                                });
                   
                           
                    Cursor cursorT = db.getTipologiaBombola();
                        cursorT.moveToNext();
                        String[] from1 = new String[]{"Nome"};
                        // create an array of the display item we want to bind our data to
                        int[] to1 = new int[]{android.R.id.text1};
                        // create simple cursor adapter
                        adapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, cursorT, from1, to1 );
                        adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
                        // get reference to our spinner
                    spinnerSelezionaBombole.setAdapter(adapter);
                     
                   
                    spinnerSelezionaBombole.setOnItemSelectedListener(new OnItemSelectedListener() {

                                   @Override
                                   public void onItemSelected(AdapterView<?> adpeterView, View view, int position, long id) {
                                           Cursor c = (Cursor) adpeterView.getItemAtPosition(position);
                                   itemselectedTipoBombola = c.getString(c.getColumnIndex("Nome"));
                                           Log.i("","ItemSelezionato : "+itemselectedTipoBombola.toString());
                                   }

                                   @Override
                                   public void onNothingSelected(AdapterView<?> arg0) {
                                        // TODO Auto-generated method stub
                                       
                                        }
                     });
                   
                    buttonScegliBombola.setOnClickListener(new OnClickListener() {
                                       
                                        @Override
                                        public void onClick(View v) {
                                                // TODO Auto-generated method stub
                                        Log.i("","Cliccato scegli bombola");   
                                        }
                                });
           }

Ho sbagliato qualcosa?

Offline emaborsa

  • Utente normale
  • ***
  • Post: 274
  • Java Developer
  • Respect: +33
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win8.1 - Android 4.1.2
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #3 il: 25 Maggio 2012, 16:17:06 CEST »
0
...o IO non ho capito, o tu ti sei espesso male. Io ti ho postato come eseguire del codice quando viene premuto un bottone.
Con:
Codice (XML): [Seleziona]
android:onclick="nomedelmetodo"
viene settato un clicklistener al bottone, ed ogni volta che lo clicchi viene richiamato il codice che metti dentro alla funzione nomedelmetodo. Nel tuo caso, ogni volta che clicchi il bottone con id buttonScegliReparto viene eseguito tutto il codice. è veramente questo che vuoi fare?
« Ultima modifica: 25 Maggio 2012, 16:24:35 CEST da emaborsa »

Offline dom4

  • Utente normale
  • ***
  • Post: 158
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Vodafone Ideos, Nexus 5
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #4 il: 25 Maggio 2012, 16:21:47 CEST »
0
...o IO non ho capito, o tu ti sei espesso male. Io ti ho postato come eseguire del codice quando viene premuto un bottone.
Con:
Codice (XML): [Seleziona]
android:onclick="nomedelmetodo"
viene settato un clicklistener al bottone, ed ogni volta che lo clicchi viene richiamato il codice che metti dentro alla funzione nomedelmetodo. Nel tuo caso, ogni volta che clicchi il bottone con id buttonScegliReparto viene eseguito tutto il codice. è veramente questo che vuoi fare?

Il metodo funziona,e mi visualizza i bottoni che prima erano a Gone,il mio problema è che questi bottoni non stnono cliccabili,questi bottoni a loro volta dovrebbero eseguire altre operazioni,come puoi vedere nel codice ma non catturano il click,nonostante siano settati..

Offline emaborsa

  • Utente normale
  • ***
  • Post: 274
  • Java Developer
  • Respect: +33
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win8.1 - Android 4.1.2
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #5 il: 25 Maggio 2012, 16:25:12 CEST »
0
 togli quei onClickListener da dentro il codice, e fai come ti ho detto con tutti i bottoni che hai.

Offline dom4

  • Utente normale
  • ***
  • Post: 158
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Vodafone Ideos, Nexus 5
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #6 il: 26 Maggio 2012, 11:52:52 CEST »
0
togli quei onClickListener da dentro il codice, e fai come ti ho detto con tutti i bottoni che hai.

Ho fatto come mi hai detto ma il risultato non cambia.
Codice (XML): [Seleziona]
 <Button
           android:id="@+id/buttonScegliReparto"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_below="@+id/textViewMOrigine"
           android:layout_centerHorizontal="true"
           android:layout_marginTop="20dp"
           android:layout_alignBaseline="@+id/spinnerDestinazione"
           android:layout_alignBottom="@+id/spinnerDestinazione"
           android:layout_toRightOf="@+id/spinnerDestinazione"
           android:text="Seleziona"
           android:onClick="aggiungibottoni" />
       
        <Button
           android:id="@+id/buttonModificaReparto"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBaseline="@+id/textViewNomeMagazzinoDestinazione"
           android:layout_alignBottom="@+id/textViewNomeMagazzinoDestinazione"
           android:layout_marginLeft="14dp"
           android:layout_toRightOf="@+id/textViewNomeMagazzinoDestinazione"
           android:text="Modifica"
           android:onClick="modificareparto"
           android:visibility="gone" />

             
        <Button
           android:id="@+id/buttonScegliBombola"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_centerHorizontal="true"
           android:layout_toRightOf="@+id/spinnerSelezionaTipologiaBombole"
           android:layout_alignBaseline="@+id/spinnerSelezionaTipologiaBombole"
           android:layout_alignBottom="@+id/spinnerSelezionaTipologiaBombole"
           android:visibility="gone"
           android:onClick="clickbombola"
           android:layout_marginTop="20dp"
           android:text="Seleziona Bombola" />

Codice (Java): [Seleziona]
public void nascondireparto(View v)
        {
                Log.i("","Cliccato modifica");
                textviewdest.setVisibility(View.GONE);
                textnomeMD.setVisibility(View.GONE);
                buttonModificaReparto.setVisibility(View.GONE);
                spinnerSelezionaBombole.setVisibility(View.GONE);
                buttonScegliBombola.setVisibility(View.GONE);
                spinnerDestinazione.setVisibility(View.VISIBLE);
                buttonScegliReparto.setVisibility(View.VISIBLE);
        }
       
        public void clickbombola(View v)
        {
                Log.i("","Cliccato scegli bombola");   

        }
       
        public void selectReparto(View v)
        {
                 Cursor c = (Cursor) spinnerDestinazione.getSelectedItem();
             itemselectedDestinazione = c.getString(c.getColumnIndex("Nome"));
                 Log.i("","ItemSelezionato : "+itemselectedDestinazione.toString());
        }
       
        public void selectTipologia(View v)
        {
                 Cursor c = (Cursor) spinnerSelezionaBombole.getSelectedItem();
                 itemselectedTipoBombola = c.getString(c.getColumnIndex("Nome"));
                   Log.i("","ItemSelezionato : "+itemselectedTipoBombola.toString());
        }
         public void aggiungibottoni(View v)
         {
                       
                        spinnerDestinazione.setVisibility(View.GONE);
                        buttonScegliReparto.setVisibility(View.GONE);
                        textviewdest.setVisibility(View.VISIBLE);
                        textnomeMD.setVisibility(View.VISIBLE);
                        textnomeMD.setText(itemselectedDestinazione.toString());
                        buttonModificaReparto.setVisibility(View.VISIBLE);
                        spinnerSelezionaBombole.setVisibility(View.VISIBLE);
                        buttonScegliBombola.setVisibility(View.VISIBLE);
         }     
Ho l'impressione che l'activity "fotografi" la prima situazione dell'xml con alcuni bottoni Gone e che nonostante il cambio di stato l'app sia rimasta a come quando è stata creata l'activity.
Dico questo perchè ho provato a non mettere i bottoni a Gone ed il click viene catturato,sia nel modo che mi hai suggerito sia con l'onclicklistener..

Per lo spinner ho provato a settare l'onclick ma mi va in errore:
Codice: [Seleziona]
05-26 09:57:56.704: E/AndroidRuntime(549): FATAL EXCEPTION: main
05-26 09:57:56.704: E/AndroidRuntime(549): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.magalditechno.tgm/com.magalditechno.tgm.operazioni.CreaCaricoTGMActivity}: android.view.InflateException: Binary XML file line #61: Error inflating class android.widget.Spinner
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.os.Handler.dispatchMessage(Handler.java:99)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.os.Looper.loop(Looper.java:130)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.app.ActivityThread.main(ActivityThread.java:3683)
05-26 09:57:56.704: E/AndroidRuntime(549):         at java.lang.reflect.Method.invokeNative(Native Method)
05-26 09:57:56.704: E/AndroidRuntime(549):         at java.lang.reflect.Method.invoke(Method.java:507)
05-26 09:57:56.704: E/AndroidRuntime(549):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-26 09:57:56.704: E/AndroidRuntime(549):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-26 09:57:56.704: E/AndroidRuntime(549):         at dalvik.system.NativeStart.main(Native Method)
05-26 09:57:56.704: E/AndroidRuntime(549): Caused by: android.view.InflateException: Binary XML file line #61: Error inflating class android.widget.Spinner
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.view.LayoutInflater.createView(LayoutInflater.java:518)
05-26 09:57:56.704: E/AndroidRuntime(549):         at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
05-26 09:57:56.704: E/AndroidRuntime(549):         at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.app.Activity.setContentView(Activity.java:1657)
05-26 09:57:56.704: E/AndroidRuntime(549):         at com.magalditechno.tgm.operazioni.CreaCaricoTGMActivity.onCreate(CreaCaricoTGMActivity.java:33)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
05-26 09:57:56.704: E/AndroidRuntime(549):         ... 11 more
05-26 09:57:56.704: E/AndroidRuntime(549): Caused by: java.lang.reflect.InvocationTargetException
05-26 09:57:56.704: E/AndroidRuntime(549):         at java.lang.reflect.Constructor.constructNative(Native Method)
05-26 09:57:56.704: E/AndroidRuntime(549):         at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.view.LayoutInflater.createView(LayoutInflater.java:505)
05-26 09:57:56.704: E/AndroidRuntime(549):         ... 22 more
05-26 09:57:56.704: E/AndroidRuntime(549): Caused by: java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.widget.AdapterView.setOnClickListener(AdapterView.java:750)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.view.View.<init>(View.java:2118)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.view.ViewGroup.<init>(ViewGroup.java:292)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.widget.AdapterView.<init>(AdapterView.java:228)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.widget.AbsSpinner.<init>(AbsSpinner.java:67)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.widget.Spinner.<init>(Spinner.java:56)
05-26 09:57:56.704: E/AndroidRuntime(549):         at android.widget.Spinner.<init>(Spinner.java:52)
05-26 09:57:56.704: E/AndroidRuntime(549):         ... 25 more
« Ultima modifica: 26 Maggio 2012, 12:00:56 CEST da dom4 »

Offline emaborsa

  • Utente normale
  • ***
  • Post: 274
  • Java Developer
  • Respect: +33
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win8.1 - Android 4.1.2
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #7 il: 26 Maggio 2012, 12:07:42 CEST »
0
Fai na prova, nell'XML non definirli GONE, ma normali. Poi nel onCreate() dell'activity li setti in GONE. In teoria così risolvi.

Offline dom4

  • Utente normale
  • ***
  • Post: 158
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Vodafone Ideos, Nexus 5
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #8 il: 26 Maggio 2012, 12:25:14 CEST »
0
Fai na prova, nell'XML non definirli GONE, ma normali. Poi nel onCreate() dell'activity li setti in GONE. In teoria così risolvi.

Mi piacerebbe dirti che funziona,ma purtroppo non è così..

Offline DarnellNajanReed

  • Utente normale
  • ***
  • Post: 359
  • Respect: +49
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One, Acer Iconia A500/501, Asus Transformer Prime, Galaxy ACE, Galaxy S Plus, Galaxy S Advance P, Galaxy Tab 2 7.0, Google Nexus 7
  • Play Store ID:
    Luigi Notaro
  • Sistema operativo:
    OS X 10.8.3
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #9 il: 26 Maggio 2012, 13:03:09 CEST »
0
Hai provato a settare il setClickable() dei buttons su true dopo che li rendi visibili?

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #10 il: 26 Maggio 2012, 14:29:11 CEST »
0
io ho sempre usato il cambio di visibilità (ricordo di aver fatto un layout che scompariva alla pressione di un tasto), e non ho mai avuto problemi... sicuro di fare le cose nel modo corretto? il tuo codice è un po confusionario, parti con un esempio semplice
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline dom4

  • Utente normale
  • ***
  • Post: 158
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Vodafone Ideos, Nexus 5
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #11 il: 26 Maggio 2012, 16:12:12 CEST »
0
Hai provato a settare il setClickable() dei buttons su true dopo che li rendi visibili?

I bottoni sono sempre cliccabili,mi sono fatto stampare isclickable() ed il risultato è true.

Comunque ho risolto il problema, ed un pò mi vergogno..Avevo una listview dichiarata nell'xml che andava a coprire i bottoni,perciò non potevo cliccarli..Vi chiedo scusa per avervi fatto perdere tempo ed al tempo stesso vi ringrazio per le risposte.

In particolare voglio ringraziare emaborsa,perchè non conoscevo l'utilizzo dell'onclick nell'xml..grazie
« Ultima modifica: 26 Maggio 2012, 16:32:58 CEST da dom4 »

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Bottone non cliccabile dopo Visibility = GONE
« Risposta #12 il: 26 Maggio 2012, 18:26:21 CEST »
0
I bottoni sono sempre cliccabili,mi sono fatto stampare isclickable() ed il risultato è true.

Comunque ho risolto il problema, ed un pò mi vergogno..Avevo una listview dichiarata nell'xml che andava a coprire i bottoni,perciò non potevo cliccarli..Vi chiedo scusa per avervi fatto perdere tempo ed al tempo stesso vi ringrazio per le risposte.

In particolare voglio ringraziare emaborsa,perchè non conoscevo l'utilizzo dell'onclick nell'xml..grazie

l'importante è che hai risolto, hai capito dove stata il problema e l'hai comunicato.
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia