如何解决使用putExtra传递数据并在onClick中使用它
我编写了以下代码:
public class HoursActivity extends AppCompatActivity{
public String name;
public String number;
public String date;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hours);
Bundle extras = getIntent().getExtras();
//if (extras != null) {
name = extras.getString("name");
number = extras.getString("number");
date = extras.getString("date");
//}
final int hour = 9;
//final int minute = 0;
for (int i = 1; i <= 10; i++) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
Button btn = new Button(this);
btn.setId(hour);
final int id_ = btn.getId();
btn.setText(hour + i +":00");
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
linearLayout.addView(btn,params);
final Button btn1 = ((Button) findViewById(id_));
btn1.setonClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.O)
public void onClick(View view) {
Toast.makeText(view.getContext(),date + name + number,Toast.LENGTH_SHORT)
.show();
}
});
}
}
此代码创建了10个按钮,当我单击一个按钮时,我想打印从上一个活动获得的数据。因此,我编写了以下代码:
name = extras.getString("name");
number = extras.getString("number");
date = extras.getString("date");
我为每个按钮编写了以下代码:
public void onClick(View view) {
Toast.makeText(view.getContext(),Toast.LENGTH_SHORT)
.show();
}
问题在于字符串日期+名称+数字仅为第一个按钮打印。 我哪里出问题了?
解决方法
创建意图:
Intent i = new Intent(MainActivity.this,SecondActivity.class);
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete);
String getText=textView.getText().toString();
//Create the bundle
Bundle bundle = new Bundle();
//Add your data to bundle
bundle.putString(“getText”,getText);
//Add the bundle to the intent
i.putExtras(bundle);
//Fire that second activity
startActivity(i);
进入第二个活动,从捆绑软件中检索数据:
//Get the bundle
Bundle bundle = getIntent().getExtras();
//Extract the data…
String stuff = bundle.getString(“stuff”);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。