Salvar valor do Contador, e apresenta-lo em outra Activity com o mesmo valor.

240 views
Skip to first unread message

Maiko Eurich

unread,
Dec 12, 2015, 11:52:47 AM12/12/15
to Android Brasil - Dev
Fala galera, estou precisando de uma força para uma atividade. Estou Iniciando uns conhecimentos em Java usando o Android.Studio e o problema é o seguinte:

- Preciso criar uma tela que envie parametros para outra tela.

- Na primeira tela deve ter 3 botões: Porta#1, Porta#2, Sair;

- O Botão sair, fecha o programa todo.
 O botão Porta#1 deve abrir a tela 2, MAS escrito PORTA#1 no topo desta tela. 
 O botão Porta#2 deve arir a tela 2, MAS escrito PORTA#2 no topo desta tela.

- Na segunda tela, deve haver um Botão, que ao ser pressionado, incrementa o valor do contador e salva num texto abaixo.

- Deve haver também, 1 botão de voltar para a Primeira tela, onde poderá selecionar novamente entre PORTA#1 e PORTA#2, porém, ao abrir uma delas qualquer, o Contador deve estar com o mesmo valor que parou quando foi incrementado antes.

Já fiz todos os passos, por exemplo, Abri a PORTA#1, incrementei até 2 (Contador : 3)
    Voltei para a tela Inicial, selecionei a PORTA#2, mas o contador retornou para 0 (Contador : 0).... e preciso que ele esteja em 3 (Contador : 3).

Agradeço desde já.
  Obrigado pessoal UHASUHHUAS o/

Maiko Eurich

unread,
Dec 12, 2015, 12:04:36 PM12/12/15
to Android Brasil - Dev



TELA 1


package br.com.maikao.tentando;

import android.app.Application;
import android.app.ListActivity;
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.*;
import android.view.*;

import java.util.Objects;


public class ueba extends ListActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        String[] itens = new String[]{"CIRCULO", "QUADRADO","SAIR"};
        ArrayAdapter<String> array =
                new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, itens);
        setListAdapter(array);

    }



    protected void onListItemClick(ListView l, View v, int position, long id) {

        super.onListItemClick(l, v, position, id);


        Intent it = new Intent(this, tela2.class);
        Bundle params = new Bundle();
        params.putInt("formato.msg", position);
        it.putExtras(params);
        startActivity(it);


    }







    @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_ueba, 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);
    }
}
 

Maiko Eurich

unread,
Dec 12, 2015, 12:05:37 PM12/12/15
to Android Brasil - Dev





TELA 2



package br.com.maikao.tentando;

import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.*;
import android.view.*;
import org.w3c.dom.Text;


public class tela2 extends ActionBarActivity {

    TextView texto, contador;
    private Button buttoncont, buttonvolta;
    int cont = 0;


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

        texto = (TextView) findViewById(R.id.texto);
        contador = (TextView) findViewById(R.id.contador);
        buttoncont = (Button) findViewById(R.id.buttoncont);
        buttonvolta = (Button) findViewById(R.id.buttonvolta);

        buttoncont.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                cont++;

                contador.setText("Contador: " + cont);

            }


        });



        Intent it = getIntent();
        if(it!=null)    {

            Bundle params = it.getExtras();
            if (params != null) {
                int valor = params.getInt("formato.msg");


                if (valor == 0) {
                    texto.setText("Circulo");
                    }
                if (valor == 1) {
                    texto.setText("Quadrado");
                    }
                if (valor == 2 ) {
                   System.exit(0);

                }
            }
        }
    }


   public void onClicklistItem (View view) {
        if (view.getId() == R.id.buttonvolta) {
            Intent it = new Intent(this, ueba.class);
            finish();
        }
    }

        @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_tela2, menu);
            return true;
        }

        @Override
        public boolean onOptionsItemSelected (MenuItem item){

Maiko Eurich

unread,
Dec 12, 2015, 12:11:20 PM12/12/15
to Android Brasil - Dev
SSD.jpg
ssf.jpg
Message has been deleted

L.

unread,
Dec 12, 2015, 3:14:01 PM12/12/15
to Android Brasil - Dev
Você pode passar os dados do contador de uma Intent pra outra. Dá uma olhada aqui: http://stackoverflow.com/questions/2844440/passing-arguments-from-loading-activity-to-main-activity

Em sábado, 12 de dezembro de 2015 15:11:20 UTC-2, Maiko Eurich escreveu:

Gabriel Santiago

unread,
Dec 15, 2015, 11:15:48 AM12/15/15
to Android Brasil - Dev
Boa Tarde Maiko Eurich

Você pode criar uma classe para armazenar esse valor, geralmente eu uso para guardar objetos tipo usuário, carro, etc  que devem ser transmitidos entre as activities.

public class App extends Application {
   
public static int portaSelecionada;
}

e para passar o valor na main:

App.portaSelecionada = valorDoBotao;

e para pegar o valor na segunda Activity:

int valorRecebidoDaPorta = App.portaSelecionada;


Só toma cuidado para não pegar o valor na segunda tela sem tem setado um valor na primeira.

Maiko Eurich

unread,
Dec 18, 2015, 2:24:08 PM12/18/15
to androidb...@googlegroups.com
irei testar a qualquer momento e ver se consigo, obrigado pessoal o/ 

--
You received this message because you are subscribed to a topic in the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/androidbrasil-dev/dy5Fah688_M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to androidbrasil-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages