Autore Topic: Collegamento tra ImageButton e activity nuova  (Letto 504 volte)

Offline cr7

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    sansung ace
  • Sistema operativo:
    windows 8
Collegamento tra ImageButton e activity nuova
« il: 25 Luglio 2014, 16:52:02 CEST »
0
Salve a tutti, sono nuovo in questo forum e da poco ho iniziato a studiare android.
La mia intenzione era nella activity principale mettere un ImageButton, cosi premendolo si apre una nuova activity. questo è il codice: grazie in anticipo a tutti.

package com.example.app01;

import java.io.FileNotFoundException;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

public class HOME extends ActionBarActivity {
String user="";
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_home);
      
      Intent i = getIntent();
      String user = i.getStringExtra("user");
      Toast.makeText(getApplicationContext(), "Accesso Consentito a: " + user, 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.home, menu);
      return true;
   }

   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
      // TODO Auto-generated method stub
      
      switch (item.getItemId())
      {
      case R.id.action_capitali:
         Intent intent = new Intent(this,Capitali.class);
         Bundle b = new Bundle();
         b.putString("user", user);
         intent.putExtras(b);
         startActivity(intent);
      break;
      case R.id.action_fiumi:
      break;
      case R.id.action_laghi:
      break;
      case R.id.action_monumenti:
      break;
      default:
         return super.onOptionsItemSelected(item);
      }
      return true;
   }
   
   public void onClickInfo(View v) {
      Intent intent = new Intent(this,Capitali.class);
      Bundle b = new Bundle();
      intent.putExtras(b);
      startActivity(intent);      
   }
}



<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.app01.HOME" >

    <ImageView
        android:id="@+id/planisfero"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:contentDescription="@string/descrizioneMondo"
        android:src="@drawable/mondo" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="28dp"
        android:layout_toRightOf="@+id/informazioni"
        android:contentDescription="@string/descrizioneInfo"
        android:onClick="onClickInfo"
        android:text="@string/etichetta_accedi" />

    <ImageButton
        android:id="@+id/informazioni"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/planisfero"
        android:layout_centerVertical="true"
        android:contentDescription="@string/descrizioneInfo"
        android:onClick="onCLickInfo"
        android:src="@drawable/info" />

</RelativeLayout>




package com.example.app01;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class Capitali extends ActionBarActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_capitali);
   }

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.capitali, menu);
      return true;
   }
}

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Collegamento tra ImageButton e activity nuova
« Risposta #1 il: 25 Luglio 2014, 17:11:59 CEST »
0
mi permetto di darti 3 piccoli consigli:
1° presentati nell'apposita sezione
2° utilizza i pulsanti java (tazzina) e xml per evidenziare la sintassi nel testo del tuo messaggio
3° spiegaci qual è il problema, cosa non funziona, ed eventualmente posta il logCat


^^

Offline cr7

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    sansung ace
  • Sistema operativo:
    windows 8
Re:Collegamento tra ImageButton e activity nuova
« Risposta #2 il: 25 Luglio 2014, 17:30:48 CEST »
0
scusa se ho sbagliato sezione, il problema è che non riesco a collegare l'ImageButton a una nuova activity con il metodo onclickinfo.
pensavo che mettendo il file xml era comprensibile.

Offline sandro98

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Express 2
  • Sistema operativo:
    Windows 7
Re:Collegamento tra ImageButton e activity nuova
« Risposta #3 il: 08 Agosto 2014, 11:02:48 CEST »
0
Prova con questo codice:
Codice (Java): [Seleziona]
ImageButton informazioni = (Button) findViewById(R.id.informazioni);
              informazioni.setOnClickListener(new View.OnClickListener() {
                 public void onClick(View arg0) {
                Intent i = new Intent(activity_home.this, activity_capitali.class);
                 startActivity(i);
                 }
              });
Fammi sapere se funziona  ;-)

Offline Paso

  • Utente junior
  • **
  • Post: 98
  • Respect: +17
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy sIII mini
  • Sistema operativo:
    Linux Mint 17 64-bit
Re:Collegamento tra ImageButton e activity nuova
« Risposta #4 il: 08 Agosto 2014, 12:15:16 CEST »
0
La sezione non è sbagliata per il tuo problema, ma per presentarsi.
Prima di postare bisognerebbe leggere oltre al regolamento del forum anche questo come da titolo.

Passando al tuo problema... tu stai tentando di richiamare la seconda activity nel momento il cui crei la prima (cosa sbagliatissima!) senza chiamarla tra l'altro!
Dopo aver istanziato l'intent devi anche usare il metodo startActivity(intent) altrimenti non capiterà nulla e nel tuo caso devi farlo quando l'uimmagine viene premuta come ha scritto sandro88, ma per passare un parametro all'altra classe tra la dichiarazione dell'intent e il metodo startActivity() devi aggiungere i parametri come hai fatto tu; io per aggiungere i parametri però uso putExtra(String nomeDelParametro, String/int/booolean... valoreDelParametro)
« Ultima modifica: 08 Agosto 2014, 12:16:58 CEST da Paso »