Thiago Emanoel Thiago Emanoel -4 years ago 67
Android Question

Send value of Spinner to Public Static variable - Android

so .. I have two Activities ,where on the

SecondActivity
I have a Spinner , and the item selected from this spinner , must be storage at a Variable public static , where at
TerceiraActivity
I can get the variable manipulate.

Theses are the activities.

"SecondActivity"

package br.exemplosqlite;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;

import org.w3c.dom.Text;

public class SecondActivity extends Activity implements AdapterView.OnItemSelectedListener {

public static String mahone = "atemais";



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

//referencia a Spinner
//Spinner coligada;

//final TextView nome = (TextView)findViewById(R.id.txvNome);
//final TextView sobrenome = (TextView)findViewById(R.id.txvSobrenome);
//final Spinner pday = (Spinner)findViewById(R.id.spinner);

final Spinner spcoligada = (Spinner)findViewById(R.id.coligada);






//spinner = (Spinner)findViewById(R.id.spinner);

ArrayAdapter adaptercoligada= ArrayAdapter.createFromResource(this, R.array.coligada, android.R.layout.simple_spinner_item);
spcoligada.setAdapter(adaptercoligada);



Button ok = (Button)findViewById(R.id.btnok);







ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//chamada para a nova Activity
Intent intent = new Intent(SecondActivity.this, TerceiraActivity.class);
intent.putExtra("coligada", spcoligada.getSelectedItem().toString());


//intent.putExtra("nomePessoa", nome.getText().toString());
//intent.putExtra("sobrenomePessoa", sobrenome.getText().toString());
//intent.putExtra("day", pday.getSelectedItem().toString());

public String pcoligada="";








startActivity(intent);
}
});
}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
}


This is the "TerceiraActivity"

package br.exemplosqlite;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Spinner;
import android.widget.TextView;

public class TerceiraActivity extends Activity {

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

Intent intent = getIntent();
//String parametro = (String) intent.getSerializableExtra("nomePessoa");
//String psobrenome = (String) intent.getSerializableExtra("sobrenomePessoa");
//String ppday = (String) intent.getSerializableExtra("day");

String pcoligada = (String) intent.getSerializableExtra("coligada");


//TextView nome = (TextView)findViewById(R.id.txvNome);
//TextView sobrenome = (TextView)findViewById(R.id.txvSobrenome);
TextView coligadas = (TextView)findViewById(R.id.spvcoligada);


//nome.setText("Olá " + parametro + ", Tem de fazer a barba " );
coligadas.setText("coliga escolhida : " +pcoligada);
}
}

Answer Source

Just change getSerializableExtra to getStringExtra,

If you want to make pcoligada public than declare as global variable,

Change code to:

Intent intent = new Intent(SecondActivity.this, TerceiraActivity.class);
            intent.putExtra("coligada", spcoligada.getSelectedItem().toString());

            //intent.putExtra("nomePessoa", nome.getText().toString());
            //intent.putExtra("sobrenomePessoa", sobrenome.getText().toString());
            //intent.putExtra("day", pday.getSelectedItem().toString());

            startActivity(intent);

public String pcoligada = ""; // take global variable , you can take it as static variable also to access from other class

Now onCreate() method of another activity;

    Intent intent = getIntent();
    //String parametro = (String) intent.getSerializableExtra("nomePessoa");
    //String psobrenome = (String) intent.getSerializableExtra("sobrenomePessoa");
    //String ppday = (String) intent.getSerializableExtra("day");

    pcoligada = intent.getStringExtra("coligada");

    //TextView nome = (TextView)findViewById(R.id.txvNome);
    //TextView sobrenome = (TextView)findViewById(R.id.txvSobrenome);
    TextView coligadas = (TextView)findViewById(R.id.spvcoligada);


    //nome.setText("Olá " + parametro + ", Tem de fazer a barba " );
    coligadas.setText("coliga escolhida : " +pcoligada);
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download