2010-11-04 3 views
1

Excusez la simplicité de cette requête - mais existe-t-il un moyen de lier les commandes onClick pour les boutons à travers la mise en page plutôt que le code. J'essaye de créer une application simple et je veux pouvoir faire des boutons et avoir des clics aller d'une "page" à l'autre.Lier les pages xml avec la mise en page

Existe-t-il un site qui pourrait vous expliquer comment utiliser l'interface utilisateur pour coder pour droid?

Merci!

Répondre

1
  1. Faites le nombre de boutons que vous aimeriez avoir. Assurez-vous que si c'est plus que le montant de l'écran, vous devez affecter une vue de défilement.

supposez que vous avez sur votre R.layout.main.xml. Pour trouver ceci, allez à res/layout/main.xml Copiez XML, cliquez avec le bouton droit de la souris et collez-le dans le dossier de disposition. Ensuite, il dira Rename. Renommez-le en ce que vous voulez.

copier Maintenant, cela permet spécifiquement pour dire que vous mettez

btn1 
btn2 
btn3 
btn4 
btn5 

Pour l'étiquette d'identification allez dans les propriétés de chaque bouton et faites défiler jusqu'à id et renommer la fin de BTN1, 2,3, 4 et bientôt.

Maintenant, si vous étiez à la place que dans votre fichier .java sous src/com.whateveryounamed.app/what ever you named .java

Placez ce code ci-dessous et il fonctionne. Voici un exemple de mine avec 5 boutons en page xml.

package com.nashvillekurds.app; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class kurdishhistoryapp extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Button btn1 =(Button)findViewById(R.id.btn1); 
     Button btn2 =(Button)findViewById(R.id.btn2); 
     Button btn3 =(Button)findViewById(R.id.btn3); 
     Button btn4 =(Button)findViewById(R.id.btn4); 
     Button btn5 =(Button)findViewById(R.id.btn5); 

     btn1.setOnClickListener(new Button.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent myIntent = new Intent(); 

       myIntent.setAction(Intent.ACTION_VIEW); 

       myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
       setContentView(R.layout.btn1); 

      } 
     }); 

     btn2.setOnClickListener(new Button.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent myIntent = new Intent(); 

       myIntent.setAction(Intent.ACTION_VIEW); 

       myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
       setContentView(R.layout.btn2); 

      } 
     }); 


     btn3.setOnClickListener(new Button.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent myIntent = new Intent(); 

       myIntent.setAction(Intent.ACTION_VIEW); 

       myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
       setContentView(R.layout.btn3); 

      } 
     }); 


     btn4.setOnClickListener(new Button.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent myIntent = new Intent(); 

       myIntent.setAction(Intent.ACTION_VIEW); 

       myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
       setContentView(R.layout.btn4); 

      } 
     }); 


     btn5.setOnClickListener(new Button.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent myIntent = new Intent(); 

       myIntent.setAction(Intent.ACTION_VIEW); 

       myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
       setContentView(R.layout.btn5); 

      } 
     }); 


}} 

espoir que cela a aidé sinon désolé mais vous faites quelque chose de mal ...

0

ce que James newton dit implique plusieurs boutons. voici comment cela va de pair avec un bouton, juste pour plus de clarté:

Button btn1 =(Button)findViewById(R.id.~btn1~); 

btn1.setOnClickListener(new Button.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     Intent myIntent = new Intent(); 

     myIntent.setAction(Intent.ACTION_VIEW); 

     myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
     setContentView(R.layout.~btn1~); 

    }   
    }); 

Outre que rien ne doit être changé, il suffit de changer l'ID du bouton et id xml pour travailler avec votre application. Le bouton btn est juste pour l'étiqueter sur le système, donc vous devriez le garder, et btn1.setOnClickListener ... peut être conservé aussi. Changez simplement les pièces dans le ~. Assurez-vous de changer le ~ aussi! Je ne le ferais probablement pas sans avertissement, et d'autres non plus.

Questions connexes