java - 在第二个活动中,我将把数据从单选按钮发送到 textview 的意图放在哪里?
问题描述
这是我通过更新为披萨应用程序编写的代码我想了解通过单击单选按钮或使用 Intent 的复选框收集的数据将放置在哪里,然后移至第二个活动?我只想知道 Intent 在这段代码中的位置?第一个活动
public class MainActivity extends AppCompatActivity {
private Button button;
private RadioGroup g1;
private CheckBox cb1, cb2, cb3, cb4, cb5, cb6;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
g1 = (RadioGroup) findViewById(R.id.G1);
cb1 = (CheckBox) findViewById(R.id.cb1);
cb2 = (CheckBox) findViewById(R.id.cb2);
cb3 = (CheckBox) findViewById(R.id.cb3);
cb4 = (CheckBox) findViewById(R.id.cb4);
cb5 = (CheckBox) findViewById(R.id.cb5);
cb6 = (CheckBox) findViewById(R.id.cb6);
g1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == R.id.rb1)
{
Toast.makeText(MainActivity.this, "Small", Toast.LENGTH_SHORT).show();
}
if (checkedId == R.id.rb2)
{
Toast.makeText(MainActivity.this, "Medium", Toast.LENGTH_SHORT).show();
}
if (checkedId == R.id.rb3)
{
Toast.makeText(MainActivity.this, "Large", Toast.LENGTH_SHORT).show();
}
}
});
cb1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if (cb1.isChecked()){
Toast.makeText(MainActivity.this, "Pepperoni", Toast.LENGTH_SHORT).show();
}
}
});
cb2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if (cb2.isChecked()){
Toast.makeText(MainActivity.this, "Olive", Toast.LENGTH_SHORT).show();
}
}
});
cb3.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if (cb3.isChecked()){
Toast.makeText(MainActivity.this, "Mushroom", Toast.LENGTH_SHORT).show();
}
}
});
cb4.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if (cb4.isChecked()){
Toast.makeText(MainActivity.this, "Extra Cheese", Toast.LENGTH_SHORT).show();
}
}
});
cb5.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if (cb5.isChecked()){
Toast.makeText(MainActivity.this, "Chicken", Toast.LENGTH_SHORT).show();
}
}
});
cb6.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if (cb6.isChecked()){
Toast.makeText(MainActivity.this, "Green Pepper", Toast.LENGTH_SHORT).show();
}
}
});
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
openActivity2();
}
});
}
public void openActivity2(){
Intent intent = new Intent(this, Activity2.class);
startActivity(intent);
}
}
这是我的单选按钮的代码,我应该把从这里收集的数据发送到第二个活动中的 textView 的意图放在哪里?第二次活动
public class Activity2 extends AppCompatActivity {
EditText editName, editPhone, editEmail, editAddress;
TextView total;
Button buttonSubmit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_2);
editName = (EditText) findViewById(R.id.editName);
editPhone = (EditText) findViewById(R.id.editPhone);
editEmail = (EditText) findViewById(R.id.editEmail);
editAddress = (EditText) findViewById(R.id.editAddress);
total = (TextView) findViewById(R.id.total);
buttonSubmit = (Button) findViewById(R.id.button2);
buttonSubmit.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
String name = editName.getText().toString();
String phone = editPhone.getText().toString();
String email = editEmail.getText().toString();
String address = editAddress.getText().toString();
total.setText("Name:\t" + name + "\nPhone:\t" + phone +"\nEmail:\t" + email + "\nAddress:\t" + address);
}
});
}
}
我在哪里放置 getIntent()?
解决方案
如果我理解正确,当用户从 RadioButton 选择 Size 时,您想将披萨的大小发送到第二个 Activity,您可以在该onCheckedChanged
方法上添加额外的字符串并开始您的第二个 Activity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
g1 = (RadioGroup) findViewById(R.id.G1);
cb1 = (CheckBox) findViewById(R.id.cb1);
cb2 = (CheckBox) findViewById(R.id.cb2);
cb3 = (CheckBox) findViewById(R.id.cb3);
cb4 = (CheckBox) findViewById(R.id.cb4);
cb5 = (CheckBox) findViewById(R.id.cb5);
cb6 = (CheckBox) findViewById(R.id.cb6);
g1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
String size = "";
if (checkedId == R.id.rb1) {
Toast.makeText(MainActivity.this, "Small", Toast.LENGTH_SHORT).show();
size = "Small";
}
if (checkedId == R.id.rb2) {
Toast.makeText(MainActivity.this, "Medium", Toast.LENGTH_SHORT).show();
size = "Medium";
}
if (checkedId == R.id.rb3) {
Toast.makeText(MainActivity.this, "Large", Toast.LENGTH_SHORT).show();
size = "Large";
}
Intent intent = new Intent(this, Activity2.class);
intent.putExtra("PizzaSize", size);
startActivity(intent);
}
});
这是你的Activity2:
public class Activity2 extends AppCompatActivity {
EditText editName, editPhone, editEmail, editAddress;
TextView total;
Button buttonSubmit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_2);
editName = (EditText) findViewById(R.id.editName);
editPhone = (EditText) findViewById(R.id.editPhone);
editEmail = (EditText) findViewById(R.id.editEmail);
editAddress = (EditText) findViewById(R.id.editAddress);
total = (TextView) findViewById(R.id.total);
buttonSubmit = (Button) findViewById(R.id.button2);
// you can here get your Intent after initializing the views
String size = getIntent().getStringExtra("PizzaSize");
buttonSubmit.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
String name = editName.getText().toString();
String phone = editPhone.getText().toString();
String email = editEmail.getText().toString();
String address = editAddress.getText().toString();
total.setText("Name:\t" + name + "\nPhone:\t" + phone +"\nEmail:\t" + email + "\nAddress:\t" + address);
}
});
}
}
推荐阅读
- javascript - 在elasticsearch中不时出现错误NoLivingConnectionsError
- powershell - PowerShell查找旅行号码
- linux - Visual Studi Code 找不到任务
- r - 在 mlr3 中,是否可以在不重新训练模型的情况下预测新数据?
- python - Python - 没有循环的列表元素乘法
- javascript - 如何显示每个反应选择多值元素的工具提示?
- python - pyqt pushButton 和 toolButton 菜单
- java - 通过重复计算和打印字母
- bash - 如何检查 file=$1 是否存在?
- ruby-on-rails - 活动存储和多租户给出错误