I have 3 activity..In 1st activity i have 2 button 1st button is to start 2nd activity and 2nd button is to start 3rd activity.The 2nd activity containing edittext and button.The 3rd activity containing Spinner.I want to transfer data from edittext to spinner
[3 activity][3]
first activity
public class MainActivity extends Activity {
String item;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == Activity.RESULT_OK){
String resultStr = data.getStringExtra("result");
item=resultStr;
}
}
}
public void start1(View view)
{
Intent intent = new Intent(this,Task.class);
startActivityForResult(intent, 1);
}
public void start2(View view)
{
Intent intent = new Intent(getBaseContext(), Spinner.class);
intent .putExtra("send_data",item);
startActivity(intent);
}
}
second activity:
public class Task extends Activity {
Button btnAdd;
EditText subject;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_task);
btnAdd = (Button)findViewById(R.id.add) ;
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
subject = (EditText) findViewById(R.id.editText);
String content = subject.getText().toString();
Intent returnIntent = new Intent();
returnIntent.putExtra("result",content);
setResult(Activity.RESULT_OK,returnIntent);
}
});
}
}
third activity:
public class Spinner extends Activity {
android.widget.Spinner spinner;
ArrayAdapter<String> dataAdapter;
ArrayList<String> list = new ArrayList<String>();
SharedPreferences sharedPref;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spinner);
spinner = (android.widget.Spinner) findViewById(R.id.spinner);
sharedPref = getSharedPreferences("Info", Context.MODE_PRIVATE);
Set<String> savedStringSet = sharedPref.getStringSet("SpinnerData", null);
if (savedStringSet != null) {
list = new ArrayList<>(savedStringSet);
}
dataAdapter = new ArrayAdapter<String>(Spinner.this, android.R.layout.simple_spinner_item, list.toArray(new String[list.size()]));
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
spinner.setPrompt("SELECT AN ITEM");
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapter, View v,
int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras.getString("send_data");
list.add(value);
dataAdapter = new ArrayAdapter<String>(Spinner.this, android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
SharedPreferences.Editor editor = sharedPref.edit();
editor.putStringSet("SpinnerData", new HashSet<String>(list));
editor.apply();
}
Error:
java.lang.NullPointerException
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:394)
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)
at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:193)
at android.widget.Spinner.onMeasure(Spinner.java:429)
at android.view.View.measure(View.java:15172)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:617)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:399)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2148)
at android.view.View.measure(View.java:15172)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1848)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1100)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1273)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4212)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
at android.view.Choreographer.doCallbacks(Choreographer.java:555)
at android.view.Choreographer.doFrame(Choreographer.java:525)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)