动态添加布局时addview报错?

在向另外一个Activity中的LinearLayout动态添加布局的时候,程序运行到addView会闪退,并且无法添加布局

 

public void new_tv(String message){
        LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
        ll = (LinearLayout) findViewById(R.id.ll_todo);
        add_tv = new TextView(this);
        
        add_tv.setLayoutParams(lparams);
        add_tv.setText(message);
        add_tv.setTextColor(getResources().getColor(R.color.white));
        
        try {
            ll.addView(add_tv);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

 

 

总代码

import android.app.ActionBar;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class add_goal extends AppCompatActivity {
    private EditText et;
    private Button btn_send;
    private LinearLayout ll;
    private TextView add_tv;

    private String message;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_goal);

        et = (EditText) findViewById(R.id.input_message);
        btn_send = (Button) findViewById(R.id.btn_send);

        btn_send.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                message=et.getText().toString().trim();
                new_tv(message);
                startActivity(new Intent(add_goal.this,MainActivity.class));
                finish();
            }
        });

    }



    public void new_tv(String message){
        LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
        ll = (LinearLayout) findViewById(R.id.ll_todo);
        add_tv = new TextView(this);

        add_tv.setLayoutParams(lparams);
        add_tv.setText(message);
        add_tv.setTextColor(getResources().getColor(R.color.white));

        try {
            ll.addView(add_tv);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

 

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//1、获取activity_view.xml中LinearLayout对象
//2、也可以给LinearLayout添加@+id/,然后通过findViewById关联控件也能获取LinearLayout对象
LinearLayout linearLayout =
(LinearLayout)getLayoutInflater().inflate(R.layout.activity_view,null);
//加载布局文件
setContentView(linearLayout);
EditText editText = new EditText(this);
editText.setHint("请输入内容");
linearLayout.addView(editText);
}
如有帮助麻烦采纳

根据日志的报错,空指针。
ll.addView(add_tv);,这个ll是null。ll = (LinearLayout) findViewById(R.id.ll_todo);返回的为null,所以,检查布局文件R.layout.add_goal.xml里是不是有R.id.ll_todo