Je voudrais créer des boutons dynamiques dans mon activité principale. Les boutons sont dans une activité séparée avec un propre fichier de disposition. Je peux vous montrer mon projet de test. Je suppose que cela pourrait être mieux, mais je suis toujours un débutant dans ce domaine. ;-)Création de boutons dynamiques en utilisant deux mises en page en android
Ceci est mon activité principale. Rien de spécial:
package de.example.testprojekt;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
J'ai une autre classe avec le code suivant:
package de.example.testprojekt;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
public class TestClass extends LinearLayout {
LayoutInflater inflator;
public TestClass (Context context) {
super (context);
initialize();
}
public TestClass (Context context, AttributeSet attrs) {
super (context, attrs);
initialize();
}
public TestClass (Context context, AttributeSet attrs, int defStyle) {
super (context, attrs, defStyle);
initialize();
}
void initialize() {
inflator = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflator.inflate(R.layout.secondary_activity, this);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
setupLayout();
}
Button button1;
String TAG = "tag";
private void setupLayout() {
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Log.e(TAG,"test");
}
});
}
}
Et voici mes deux fichiers XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<de.example.testprojekt.TestClass
android:id="@+id/mainCtrl1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="30dp" />
<de.example.testprojekt.TestClass
android:id="@+id/mainCtrl2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="30dp" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:padding="@dimen/padding_medium"
android:text="@string/hello_world"
tools:context=".MainActivity" />
Et le second:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Button" />
Je ne suis pas sûr que je comprends ce que vous êtes après. Pouvez-vous fournir des dessins? –
Bien sûr. Voici un screentshot. [link] (http://s7.directupload.net/images/120719/yi6jc6ui.jpg) Comme vous pouvez le voir, j'ai deux boutons. Ils sont générés dans le premier fichier XML et initialisés dans le deuxième fichier XML. Je voudrais ajouter et supprimer ces boutons dynamiques pendant que mon application est en cours d'exécution. Mais les boutons doivent utiliser le format XML comme mise en page parce que je veux ajouter plus de vues à la deuxième mise en page. Est-il possible d'activer et de désactiver les boutons dans l'activité principale au lieu de l'activité xml? J'espère que vous comprenez ma demande :-) –