dynamic buttons Android Layout

2019-08-02 05:46发布

I want to create a layout in Android in a java class. I need that the user introduce a number between 1 to 20 and this create the number of butttons that the user has chosen.I want to create dynamic buttons and I have this code:

package com.example.nuevo;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.LinearLayout;

public class ControladorResuelto extends Activity {


protected Controlador controlador;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     requestWindowFeature(Window.FEATURE_NO_TITLE);
      getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                         WindowManager.LayoutParams.FLAG_FULLSCREEN);


        LinearLayout buttonsLayout =  (LinearLayout)findViewById(R.id.linearlayoutUp); 

    int nMallas = controlador.getnMallas();

    LinearLayout.LayoutParams layoutParams = new     LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    for(int i=0;i<nMallas;i++){
        Button button = new Button(this);
        button.setText("Buttin "+(i+1));
        buttonsLayout.addView(button, layoutParams);******
    }

    setContentView(R.layout.panel_resuelto);
}

I have an error at the line with asterisks

1条回答
The star\"
2楼-- · 2019-08-02 06:29

I'm pretty sure it's because you have setContentView(R.layout.panel_resuelto); at the end of your onCreate. Put it at the beginning, else findViewById won't work. I'm guessing you're getting a null pointer exception because the LinearLayout couldn't successfully be created since the content view wasn't set yet.

查看更多
登录 后发表回答