Ajouter un bouton à une mise en page par programmation

Je vais avoir de la difficulté à l'ajout d'un bouton pour une mise en page que j'ai créé en XML. Voici ce que je veux réaliser:

//some class
else {
        startActivity(new Intent(StatisticsScreen.this, ScreenTemperature.class));
}
////

//ScreenTemperatureClass
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //this is where I call another class that
    //displays a nice graph
    setContentView(new GraphTemperature(getApplicationContext()));

}

Je veux ajouter un Button à ce nouvel écran afin qu'il apparaisse en dessous du graphique.
J'ai essayé de créer un LinearLayout vue, puis créer un Button et l'ajouter à ce point de vue, mais je viens d'obtenir NullPointerExceptions..

Toute aide serait appréciée. Grâce

EDIT#1

Voici ce que j'ai essayé à l'aide de qui a créé un NullPointerException et forcer la fermeture:

Button buybutton;
LinearLayout layout;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(new GraphTemperature(getApplicationContext()));

    layout = (LinearLayout) findViewById(R.id.statsviewlayout);
    Button buyButton = new Button(this);
    buyButton.setText(R.string.button_back);
    buyButton.setLayoutParams(new LayoutParams(
        ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT));
    layout.addView(buyButton);

}

Et voici le logcat erreur:

ERROR/AndroidRuntime(293): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.weatherapp/com.weatherapp.ScreenTemperature}: java.lang.NullPointerException
ERROR/AndroidRuntime(293):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
ERROR/AndroidRuntime(293):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
ERROR/AndroidRuntime(293):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
ERROR/AndroidRuntime(293):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)

theres abviously plus de lignes à faire avec cette erreur dans le logcat, vous ne savez pas si vous le voulez?

EDIT#2

J'ai donc essayé bhups méthode:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GraphTemperature GT = new GraphTemperature(getApplicationContext());             
    layout = (LinearLayout) findViewById(R.id.statsviewlayout);
    Button buyButton = new Button(this);
    buyButton.setText(R.string.button_back);
    buyButton.setLayoutParams(new LayoutParams(
        ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT));
    layout.addView(GT); //line 27
    layout.addView(buyButton);       
    setContentView(layout);           
}

Cette méthode a produit le même logcat d'erreur comme ci-dessus, NullPointerException, indiquant qu'il avait quelque chose à voir avec la ligne no. 27 qui est le layout.addView ligne de code. Des idées? Merci encore

  • montrez-nous ce que vous avez essayé et le logcat vous obtenez de course, donc nous essayons de savoir pourquoi vous obtenez npe. de toute façon envisager la création d'un screen_temperature.xml mise en page et l'utilisation qui en setContentView(). vous pouvez ajouter dans le xml de votre vue personnalisée par la spécification de l'ensemble du paquet, au lieu de simplement le nom (c'est à dire: <my.package.MyCustomView android:id.../>)
  • créer un linéaire de la mise en page (ll) et ajouter GraphTemp vue de l'objet et de l'objet bouton de ll. Ensuite, réglez l'affichage du contenu de l'activité de ll. c'est à dire setContentView(ll);
InformationsquelleAutor mmmbaileys | 2011-02-05