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
I'm pretty sure it's because you have
setContentView(R.layout.panel_resuelto);
at the end of youronCreate
. Put it at the beginning, elsefindViewById
won't work. I'm guessing you're getting a null pointer exception because theLinearLayout
couldn't successfully be created since the content view wasn't set yet.