2010-11-04 67 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 ...。只需更改〜內的部分即可。一定要改變〜也!我可能不會沒有警告,而其他人也不會。