Salut à tous,
je débute sous android et je réaliser une application qui permet de réaliser un CV après remplissage de plusieurs activités (formulaires).
Je bloque sur le fait de pouvoir insérer :
- un "TexTView" et
- un "EditText"
lors du clic sur un bouton "Ajouter".

En fait, je sais que je vais devoir utiliser un tableau dynamique pour récupérer le texte des différents "EditText"
mais je sais toujours pas comment insérer mes widgets en dessous des précédents.

pour plus d'infos voilà quelques fichiers de mon application.

Fichier Aptitude.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="@dimen/space15"
    android:background="@color/Fuchsia">
 
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
 
    	<LinearLayout
	        android:layout_width="fill_parent"
	        android:layout_height="fill_parent"
	        android:orientation="horizontal" >    
 
	        <TextView
	            android:layout_width="wrap_content"
	            android:layout_height="wrap_content"
	            android:text="@string/aptitudes"
	            style="@style/createCVText" />
 
	        <EditText
	            android:id="@+id/aptitude"
	            android:layout_width="fill_parent"
	            android:layout_height="wrap_content"
	            android:hint="@string/aptitudesHint"
	            android:imeOptions="actionDone" />
 
	    </LinearLayout>
 
    	<Button
    	    android:id="@+id/addAptitude"
    	    android:layout_width="wrap_content"
    	    android:layout_height="wrap_content"
    	    android:text="@string/add"
    	    android:layout_gravity="right"
    	    android:layout_marginTop="@dimen/space10"
    	    style="@style/button_rose" />
 
    	<Button
	    	android:id="@+id/aptitudeSubmit"
	        android:layout_width="wrap_content"
	        android:layout_height="wrap_content"
	        android:layout_marginTop="@dimen/space10"
	        android:layout_gravity="right"
	        android:text="@string/submit"
	        style="@style/button_rose" />
 
    </LinearLayout>
 
 
</ScrollView>
Fichier Aptitude.java

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
package tdl.project.easycv.item;
 
import tdl.project.easycv.PreviewCV;
import tdl.project.easycv.R;
import tdl.project.easycv.details.AptitudeDetails;
import tdl.project.easycv.details.CivilityDetails;
import tdl.project.easycv.details.ExperienceDetails;
import tdl.project.easycv.details.FormationDetails;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
 
public class Aptitude extends Activity {
 
	public static final String CIVILITY = "CIVILITY";
	public static final String EXPERIENCE = "EXPERIENCE";
	public static final String FORMATION = "FORMATION";
	public static final String APTITUDE = "APTITUDE";
 
	private EditText mAptitude = null;
 
	private Button mSubmit = null;
 
	private CivilityDetails mCivilityDetails = null;
	private ExperienceDetails mExperienceDetails = null;
	private FormationDetails mFormationDetails = null;
	private AptitudeDetails mAptitudeDetails = null;
 
	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aptitude);
 
        mAptitude = (EditText) findViewById(R.id.aptitude);
 
        mCivilityDetails = new CivilityDetails();
        mExperienceDetails = new ExperienceDetails();
        mFormationDetails = new FormationDetails();
        mAptitudeDetails = new AptitudeDetails();
 
        Bundle object = getIntent().getExtras();
 
        mCivilityDetails = object.getParcelable(CIVILITY);
        mExperienceDetails = object.getParcelable(EXPERIENCE);
        mFormationDetails = object.getParcelable(FORMATION);
 
        mSubmit = (Button) findViewById(R.id.aptitudeSubmit);
 
        mSubmit.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View vue) {
 
				if (AptitudeChecked()){
 
	    			Intent aptitude = new Intent(Aptitude.this, Language.class);
 
	    			aptitude.putExtra(CIVILITY, mCivilityDetails);
	    			aptitude.putExtra(EXPERIENCE, mExperienceDetails);
					aptitude.putExtra(FORMATION, mFormationDetails);
	    			aptitude.putExtra(APTITUDE, mAptitudeDetails);
 
	    			startActivity(aptitude);
				}
			}
		});
	}
 
	public boolean AptitudeChecked() {		
		if (!mAptitude.getText().toString().equals(""))
			mAptitudeDetails.setAptitude(mAptitude.getText().toString());
		else {
			Toast.makeText(Aptitude.this, "L'aptitude est obligatoire", Toast.LENGTH_LONG).show();
			return false;
		}
 
		return true;
	}
}
Fichier AptitudeDetails.java

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
package tdl.project.easycv.details;
 
import android.os.Parcel;
import android.os.Parcelable;
 
public class AptitudeDetails implements Parcelable {
 
	private String mAptitude;
 
	public AptitudeDetails() {
		super();
	}
 
	public void setAptitude(String aptitude){
		mAptitude = aptitude;		
	}
 
	public String getAptitude(){
		return mAptitude;		
	}
 
	@Override
	public int describeContents() {
		return 0;
	}
 
	@Override
	public void writeToParcel(Parcel dest, int flags) {
		dest.writeString(mAptitude);
	}
 
	public static final Parcelable.Creator<AptitudeDetails> CREATOR = 
			new Parcelable.Creator<AptitudeDetails>()
	{
	    @Override
	    public AptitudeDetails createFromParcel(Parcel source)
	    {
	        return new AptitudeDetails(source);
	    }
 
	    @Override
	    public AptitudeDetails[] newArray(int size)
	    {
		return new AptitudeDetails[size];
	    }
	};
 
	public AptitudeDetails(Parcel in) {
		this.mAptitude = in.readString();
	}
 
}
Merci d'avance pour vos réponse