Comment insérer un widget à ma vue
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:
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:
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:
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 :D