2010-11-04 50 views
1

请原谅这个请求的简单性 - 但是有没有办法让我通过Layout而不是代码将onClick命令链接到按钮。我试图创建一个简单的应用程序,我希望能够使按钮和点击从一个“页面”到另一个。链接带布局的xml页面

有没有一个网站可能会概述如何使用UI编码的Droid?

谢谢!

回答

1
  1. 制作多少个您想要的按钮。确保它的屏幕数量多于您必须分配的滚动视图。

假设你有你的R.layout.main.xml。要找到它,请转至res/layout/main.xml 复制XML,右键单击并将其粘贴到布局文件夹中。然后它会说Rename。将它重命名为任何你想要的。

现在复制这个专门那么可以说你把

btn1 
btn2 
btn3 
btn4 
btn5 

要使ID标签去对每个按钮的特性,滚动到ID,并重新命名的结局BTN1,2,3,4,和等等。现在

,如果你是放置在您的.java文件下src/com.whateveryounamed.app/what ever you named .java

将下面这段代码,它会工作。下面是我的xml页面中有5个按钮的示例。

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); 

      } 
     }); 


}} 

希望这有助于如果没有抱歉,但你做错了什么......

0

詹姆斯·牛顿说的话涉及到多个按钮。这是怎么一回事呢只需按动一个按钮,只是为了清晰:

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~); 

    }   
    }); 

除此之外,没有什么需要改变,只是改变了按钮的ID和XML ID与应用工作。按钮btn只是将其标记到系统中,所以您应该保留该选项,并且还可以保留btn1.setOnClickListener ...。只需更改〜内的部分即可。一定要改变〜也!我可能不会没有警告,而其他人也不会。