将字符串传递给android中的另一个活动

时间:2016-03-18 18:20:04

标签: java android

我正在开发一个应用程序,我需要将一些textviews的内容传递给一个新活动,但我想保存我在应用程序打开时传递的内容,以便用户可以从其他活动中选择更多项目将他们发送到最后的结账活动。

现在我有旋转器将选择保存到Textview

public class Americano extends AppCompatActivity  {
//  MyDBHandler dbHandler;

String result;
TextView tvSize;
Spinner spinner;
int mPos;
String mSelection;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_americano);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    Spinner spinnerSize = (Spinner) findViewById(R.id.spinner_size);
    AdapterView.OnItemSelectedListener listener = new myOnItemSelectedListener();
    spinnerSize.setOnItemSelectedListener(listener);

    Spinner spinnerSyrups = (Spinner) findViewById(R.id.spinner_syrups);
    AdapterView.OnItemSelectedListener listenerSyrups = new myOnItemSelectedListener2();
    spinnerSyrups.setOnItemSelectedListener(listenerSyrups);

    Spinner spinnerTopping = (Spinner) findViewById(R.id.spinner_toppings);
    AdapterView.OnItemSelectedListener listenerTopping = new myOnItemSelectedListener3();
    spinnerTopping.setOnItemSelectedListener(listenerTopping);

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            DBAdapter dbAdapter = new DBAdapter(view.getContext());


        }
    });

}

public class myOnItemSelectedListener implements AdapterView.OnItemSelectedListener {
    @Override
    public void onItemSelected(AdapterView<?> parent, View v, int pos, long id) {
        Americano.this.mPos = pos;
        Americano.this.mSelection = parent.getItemAtPosition(pos).toString();
        TextView resultText = (TextView) findViewById(R.id.tvSize);
        resultText.setText(Americano.this.mSelection);
    }

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

    }
}

public class myOnItemSelectedListener2 implements AdapterView.OnItemSelectedListener {
    @Override
    public void onItemSelected(AdapterView<?> parent, View v, int pos, long id) {
        Americano.this.mPos = pos;
        Americano.this.mSelection = parent.getItemAtPosition(pos).toString();
        TextView resultText = (TextView) findViewById(R.id.tvSyrup);
        resultText.setText(Americano.this.mSelection);
    }

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

    }
}

public class myOnItemSelectedListener3 implements AdapterView.OnItemSelectedListener {
    @Override
    public void onItemSelected(AdapterView<?> parent, View v, int pos, long id) {
        Americano.this.mPos = pos;
        Americano.this.mSelection = parent.getItemAtPosition(pos).toString();
        TextView resultText = (TextView) findViewById(R.id.tvTopping);
        resultText.setText(Americano.this.mSelection);
    }

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

    }
}

我有更多与此类似的菜单项类

我想将textview数据传递到结帐页面。但在该页面中保存该数据,直到用户关闭该应用程序。

感谢

1 个答案:

答案 0 :(得分:1)

您可以通过Intent发送信息。 在你的听众中,你会转向另一种这样的行为:

Intent intent = new Intent(getActivity(), NewActivity.class);
intent.putExtra("RESULT_TEXT", resultText);
startActivity(intent);

NewActivity上你可以得到这样的信息:

@Override
protected void onCreate(Bundle savedInstanceState) {
    Bundle bundle = getIntent().getExtras();
    String resultText = bundle.getString("RESULT_TEXT", "");
}

希望它有所帮助。