Autore Topic: notifica con toast quando clicco un pulsante da altra activity  (Letto 513 volte)

Offline coverbags

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    win 8.1
notifica con toast quando clicco un pulsante da altra activity
« il: 18 Gennaio 2015, 20:10:42 CET »
0
ciao a tutti, sono un nuovo utente ed un principiante dell'ambiente android

sto sviluppando una app per esercitazione e dovrei far partire un toast nella main activity con un saluto ed un  nome passato da un edit Text collocato in un'altra activity

in pratica inserendo il nome nell'edit text , questo viene passato alla main activity e parte il toast con il saluto

il problema e' che , per come ho scritto il codice , il toast parte appena viene visualizzata la main activity restituendo un valore null

in pratica vorrei far partire il toast solo quando nella seconda activity il nome viene settato.

mi aiutate ???


inserisco il codice delle due activity

main activity
package com.example.vincenzo.esercizio;

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


public class MainActivity extends ActionBarActivity {

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

        Intent j=getIntent();
        String nome=j.getStringExtra("nome");

        Toast toast=Toast.makeText(this,("ciao " + " "+ nome),Toast.LENGTH_LONG);
        toast.show();

    }
    public void go(View v){
        Intent intent=new Intent(this,SecondActivity.class);
        startActivity(intent);
    }
    public void time(View c){
        Intent i=new Intent(this,ActivityPicker.class);
        startActivity(i);
    }



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

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}




seconda activity

package com.example.vincenzo.esercizio;

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

import com.example.vincenzo.esercizio.R;

/**
 * Created by vincenzo on 18/01/2015.
 */
public class SecondActivity extends ActionBarActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
    }

    public void check(View d){
        EditText nome=(EditText) findViewById(R.id.nome);
        String registraNome = nome.getText().toString();//prendo il text dalla edit text con id nome
        Intent j=new Intent(this,MainActivity.class);
        j.putExtra("nome",registraNome); // passo come extras la stringa registranome della edittext nome
        startActivity(j);

    }
    public void backMain(View v){
        Intent intent=new Intent(this,MainActivity.class);
        startActivity(intent);
    }

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

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:notifica con toast quando clicco un pulsante da altra activity
« Risposta #1 il: 18 Gennaio 2015, 22:12:51 CET »
0
non ho guardato tutto il codice che dovresti mettere nel tag quote....

ma qui
Codice (Java): [Seleziona]
     Intent j=getIntent();
        String nome=j.getStringExtra("nome");

        Toast toast=Toast.makeText(this,("ciao " + " "+ nome),Toast.LENGTH_LONG);
        toast.show();

j cosa è? se te avvi quell' activity è normale che non stampi ninete. Nome diventa null

Offline coverbags

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    win 8.1
Re:notifica con toast quando clicco un pulsante da altra activity
« Risposta #2 il: 20 Gennaio 2015, 07:57:37 CET »
0
ciao , j è un intent che mi porta i dati da edit text.
l'idea e' quella di visualizzare nella main activity  un  toas tche mostri i  dati immessi di volta in volta nella edit text posizionata nella seconda activity
il problema e' che il toast parte subito ed invece dovrebbe partire solo quando immetto i dati nella edit text

se per esempio ritorno alla main activity da altra activity, si visualizza lo stesso toast con contenuto null.

help please.


Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:notifica con toast quando clicco un pulsante da altra activity
« Risposta #3 il: 20 Gennaio 2015, 10:29:33 CET »
0
È normale. Se avvi quella activity lui esegue il toast

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 616
  • Respect: +136
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:notifica con toast quando clicco un pulsante da altra activity
« Risposta #4 il: 20 Gennaio 2015, 10:53:18 CET »
0
Se la seconda activity deve passare dati alla prima, dovresti usare startActivityForResult e visualizzare il toast nella onActivityResult


Starting Activities and Getting Results

oppure, se vuoi seguire la tua strada, controlli che i dati nell'intent non siano nulli


Codice (Java): [Seleziona]
        Intent j=getIntent();
        String nome=j.getStringExtra("nome");
        if (nome != null) {
            Toast toast=Toast.makeText(this,("ciao " + " "+ nome),Toast.LENGTH_LONG);
            toast.show();
        }
Ohmnibus
Le mie app su Play Store

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

Offline coverbags

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    win 8.1
Re:notifica con toast quando clicco un pulsante da altra activity
« Risposta #5 il: 20 Gennaio 2015, 20:09:42 CET »
0
grazie mille davvero, 
ho risolto  .

 :-)