J'ai 2 fichiers: main_activity.xml et home.xml. J'ai fait un bouton dans main_activity.xml
Voici l'extrait de code:
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:background="@drawable/splash_background"
Android:layout_height="match_parent"
Android:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
Android:id="@+id/Home"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentRight="true"
Android:layout_alignParentTop="true"
Android:layout_marginRight="43dp"
Android:onClick="home"
Android:text="Home" />
</RelativeLayout>
Et puis, j'ai mon home.xml. Je veux que le bouton ouvre home.xml. Comment puis-je faire ceci? Je ne connais pas de Java et je suis nouveau dans le développement Android.
Voici mon home.xml ci-dessous:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:background="@drawable/app_bg"
Android:layout_height="match_parent"
Android:orientation="vertical" >
</LinearLayout>
Et ci-dessous est mon AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.idozer"
Android:versionCode="1"
Android:versionName="1.0" >
<uses-sdk
Android:minSdkVersion="8"
Android:targetSdkVersion="17" />
<application
Android:allowBackup="false"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/AppTheme" >
<activity
Android:name="com.example.idozer.SplashActivity"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity Android:name="com.example.idozer.MainActivity"
Android:label="@string/app_name" >
</activity>
</application>
</manifest>
Et c'est tout ce que j'ai. S'il vous plaît, si vous répondez, dites-moi où ajouter le code tel que le répertoire ou entre les extraits de code.
Pour gérer l'activité des clics dans Android, procédez comme suit.
Implémentez OnClickListener
sur YourActivity.Java class comme
public class MainActivity extends Activity implements OnClickListener
Ensuite, déclarez votre bouton dans la classe .Java comme
Button btn = (Button) findViewById(R.id.btnPlay);
Puis utilisez le bouton btn
variable comme ci-dessous
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
myClick(v); /* my method to call new intent or activity */
}
});
Gérer l'événement de clic:
public void myClick(View v) {
Intent intent = new Intent(**this, Swipe.class**);
startActivity(intent);// for calling the activity
}
vous devez également enregistrer votre activité (.Java) dans Android manifest
comme ci-dessous
<activity
Android:name=".Swipe"
Android:screenOrientation="landscape" >
</activity>
Vous pouvez utiliser ce code.
Android: OnClickListener
Dans notre classe d'activité, nous ajoutons la méthode onclick.
Dans notre classe d'activité, nous ajoutons la méthode onclick.
//On click event for button1
public void button1OnClick(View v) {
//Inform the user the button has been clicked
Toast.makeText(this, "Button1 clicked.", Toast.LENGTH_SHORT).show();
}
Dans le fichier de mise en page, nous ajoutons une référence au gestionnaire onclick de l'activité. L'application liera automatiquement la méthode onclick à la vue (dans ce cas, button1)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical">
<Button
Android:id="@+id/button1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="@string/button1"
Android:onClick="button1OnClick"/>
</LinearLayout>
créez une autre classe Allez à votre projet, faites un clic droit, cliquez sur classe et créez Accueil. Dans ce fichier de classe Home étend l'activité et ajoute le code comme ceci
public class Home extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
}
}
dans classe d'activité splash ajouter cette ligne
Intent intent = new Intent(SplashActivity.this,Home.class);
startActivity(intent);
ajouter la classe d'activité Accueil dans votre fichier manifeste Android
<activity Android:name="com.example.idozer.Home"
Android:label="@string/app_name" >
</activity>
Android:onClick
a été ajouté dans l'API de niveau 4 pour simplifier l'utilisation du Web à la manière de Javascript et gérer tout ce qui se trouve à partir du XML. En interne, elle ajoute une OnClickListener
à la Button
, qui appelle votre méthode home.
<Button
Android:id="@+id/Home"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentRight="true"
Android:layout_alignParentTop="true"
Android:layout_marginRight="43dp"
Android:onClick="home"
Android:text="Home" />
.
public void home(View view){
Intent intent=new Intent (view.getContext(),Luton.class);
this.startActivity(intent);
}
Dans votre classe d'activité
En utilisant du code Java, vous pouvez cliquer sur un bouton en récupérant l'identifiant du bouton à partir de XML.
<Button
Android:id="@+id/myHomeButton"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentRight="true"
Android:layout_alignParentTop="true"
Android:layout_marginRight="43dp"
Android:text="Home" />
.
Button button= (Button) findViewById(R.id.myHomeButton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do whatever you want on button click
}
});
Les deux sont exactement les mêmes
Je vais vous en donner un peu pour commencer, car cette réponse peut aider les personnes qui rencontrent des difficultés avec l'utilisation de onClick()
de cette façon, mais vous devez vraiment apprendre Java et consulter laDocs Androidafin que vous puissiez poser de meilleures questions
Vous devez lire Ici à propos de Actviities
et comment les créer. Ensuite, dans votre code, vous aurez une fonction
public void home(View v) //the name of this function comes from where you declared in your manifest `Android:onClick="home"
{
Intent intent (MainActivity.this, HomeActivity.class); //MainActivity is the name of current activity and HomeActivity is the name of the activity you want to start
can add intent extras/flags/categories here
startActivity(intent);
}
Vous devez également ajouter la HomeActivity
dans votre manifest
comme vous l’avez fait pour l’autre Activities
.
Mais vous devez vraiment parcourir la documentation et faire des tutoriels pour avoir une idée du fonctionnement du framework Android et apprendre Java afin de vous rendre la vie beaucoup plus facile. Outre les deux liens précédents que j'ai donnés, consultez également cet article à propos des événements liés aux clics, car il existe différentes manières d'utiliser onClick()
J'espère que cela vous suffit pour commencer et j'espère vraiment que vous parcourez la documentation pour mieux comprendre ce que vous faites. Bonne chance à toi!
Un autre lien important pour commencer
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Button Clicked", Toast.LENGTH_SHORT).show();
}
});