I’m trying to get the value from a Spinner on my android application and convert it into a String so I can move it over as a data item in a Bundle to another activity. I have successfully managed to move EditText values over using the combination of getText().toString(); methods. I’m looking for the same result but with Spinner items now but have so far had no success.
Here’s the code:
This method is called when a user selects a button in the onClick method:
public void commitData(){
Bundle bundle = new Bundle();
bundle.putString("key", txtBuildingName.getText().toString()); //Gets the TEXT that the TEXTVIEW was holding converts it to a String and adds to the Extras bundle
Bundle bundle1 = new Bundle();
bundle1.putString("key1", txtDescription.getText().toString()); // Same again
Bundle bundle2 = new Bundle();
bundle2.putString("key2", type.getItemAtPosition(type.getSelectedItemPosition()).toString());
Bundle bundle3 = new Bundle();
bundle3.putString("key3", project.getItemAtPosition(project.getSelectedItemPosition()).toString());
Intent newIntent = new Intent(this.getApplicationContext(), DataSummary.class);
newIntent.putExtras(bundle);
newIntent.putExtras(bundle1);
startActivityForResult(newIntent, 0);
}
I am getting no results from the project and type lines of code using type.getItemAtPosition().getSelectedItemPosition()).toString(); and the same for project.
Shown below is the code for the Activity that receives and output this data from the entry form.
TextView resultName;
TextView resultDescription;
TextView resultType;
TextView resultProject;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_data_summary);
//Check if there is anything in the 'bundle' and if not produce message - AVOIDS NULLPOINTEREXCEPTION when navigating to Activity
Bundle bundle = this.getIntent().getExtras();
if (bundle != null){
String name = bundle.getString("key");
String description = bundle.getString("key1"); //gets data from DataEntry activity
String type = bundle.getString("key2");
String project = bundle.getString("key3");
resultName=(TextView)findViewById(R.id.resultName); //adds the TextViews to the activity
resultType=(TextView)findViewById(R.id.resultType);
resultDescription=(TextView)findViewById(R.id.resultDesc);
resultProject=(TextView)findViewById(R.id.resultProject);
resultName.setText(name); // Fills the textviews with imported data
resultType.setText(type);
resultDescription.setText(description);
resultProject.setText(project);
}
else
{
Toast.makeText(DataSummary.this,"Received no data yet!", Toast.LENGTH_LONG).show();
}
}
Anyone got any ideas how to successfully gather the data from the Spinner item?
Why are you passing different bundles? On the side of your receiving Activity you are only getting the first bundle, I guess.
Try your code with these edits: