如何使用来自其他活动的信息在单独的活动中动态添加文本视图

时间:2018-03-25 21:59:36

标签: java android

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_log);
    mLayout = (LinearLayout) findViewById(R.id.linear_layout_logbook);
    max_bpm = (EditText) findViewById(R.id.dL_max_heartrate);
    min_bpm = (EditText) findViewById(R.id.dL_min_bpm);
    avg_speed = (EditText) findViewById(R.id.dL_Average_Speed);
    date = (EditText) findViewById(R.id.dL_date);
}


public void OnClick(View v) {
    max_bpm_in = max_bpm.getText().toString();
    min_bpm_in = min_bpm.getText().toString();
    avg_speed_in = avg_speed.getText().toString();
    date_in = date.getText().toString();
    mLayout.addView(createNewTextView(max_bpm_in,min_bpm_in,avg_speed_in,date_in));


}
private TextView createNewTextView(String max_bpm, String min_bpm, String avg_speed, String date) {
    final ActionBar.LayoutParams lparams = new ActionBar.LayoutParams(ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT);
    final TextView textView = new TextView(this);
    textView.setLayoutParams(lparams);
    textView.setText("Date: " + date + "\nMaximum Heat Rate: " + max_bpm + "\nMinimum Heart Rate: " + min_bpm + "\nAverage Speed: " + avg_speed);
    return textView;
}

如您所见,我希望从某些edittexts获取信息,然后使用输入到文本视图中的信息在新活动中创建textview。我想这样做是为了在每次点击按钮时添加新的文本视图,因为信息将显示日志。

应用程序在使用Android的按钮按下时崩溃:在xml中点击。

我有什么遗失的吗?

3 个答案:

答案 0 :(得分:0)

你可以使用intent.putExtra(),它需要一个键值对here,因为这解释了如何使用它

答案 1 :(得分:0)

您需要将其作为额外内容传递:

String name =" ender&#34 ;;

Intent i = new Intent(this, ToClass.class);
i.putExtra("name", name);
startActivity(i); 

然后从您的新活动中提取它:

Intent intent = getIntent();
String name = intent.getExtras().getString("name");

答案 2 :(得分:0)

反对使用RecyclerView(或ListView)并添加EditText中的条目的任何理由?如果是一个选项,您可以查看本指南以获得解释和示例:

https://developer.android.com/guide/topics/ui/layout/recyclerview.html

祝你好运!