首页 > 解决方案 > 在返回按钮后将新的 textView 添加到 LinearLayout 而不替换信息

问题描述

我正在尝试添加一个 textView 以便它们显示为列表。但是由于某种原因,在按下返回按钮并输入新信息后,所有数据都被覆盖了。这是代码:

public class EventsFeed extends AppCompatActivity {

    public static String EVENT_DATE = "EVENT DATE";
    public static String EVENT_DETAITLS = "EVENT DETAILS";    

    private String evDate;
    private String evDet;
    int layoutId = R.layout.ac_events_feed;

    @Override
    protected void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (savedInstanceState != null) {
            layoutId = savedInstanceState.getInt("layoutId", R.layout.ac_events_feed);
        }
        setContentView(layoutId);

        Bundle bundle = getIntent().getExtras();
        evDate = bundle.getString(EVENT_DATE);
        evDet = bundle.getString(EVENT_DETAITLS);

        LinearLayout layout = (LinearLayout)findViewById(R.id.llEventsFeed);
        TextView text = new TextView(this);
        text.setText(evDate + evDet);
        text.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
        layout.addView(text);


    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        outState.putInt("layoutId", layoutId);
        super.onSaveInstanceState(outState);
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        layoutId = savedInstanceState.getInt("layoutId");        
    }

}

这是XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/llEventsFeed"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
</LinearLayout>

感谢大家的帮助

标签: androidtextviewandroid-linearlayout

解决方案


推荐阅读