2013-04-24 64 views
1

我試圖使用ImageButton作爲常規按鈕從活動導航到活動。我有這個活動包含6個圖像按鈕,我希望讓你的用戶去點擊任何圖像按鈕的適當活動。但是,這不起作用。任何人都可以指導我如何做到這一點?Android ImageButton在活動中導航

這是我的xml文件:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/book_shelf" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="10dip" 
     android:gravity="center" 
     android:text="WELCOME" 
     android:textSize="40dip" /> 

    <RadioButton 
     android:id="@+id/radioButton1" 
     android:layout_width="102dp" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/radioButton2" 
     android:layout_alignBottom="@+id/radioButton2" 
     android:layout_alignParentLeft="true" 
     android:layout_marginLeft="23dp" 
     android:text="Autoplay" /> 

    <RadioButton 
     android:id="@+id/radioButton2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/textView1" 
     android:layout_marginLeft="33dp" 
     android:layout_toRightOf="@+id/radioButton1" 
     android:text="Read by self" /> 

    <ImageButton 
     android:id="@+id/ImageButton01" 
     android:layout_width="70dp" 
     android:layout_height="80dp" 
     android:layout_alignLeft="@+id/radioButton1" 
     android:layout_alignTop="@+id/imageButton1" 
     android:layout_marginLeft="15dp" 
     android:src="@drawable/clown_icon" /> 

    <ImageButton 
     android:id="@+id/imageButton1" 
     android:layout_width="70dp" 
     android:layout_height="80dp" 
     android:layout_below="@+id/radioButton2" 
     android:layout_marginTop="34dp" 
     android:layout_toRightOf="@+id/radioButton1" 
     android:src="@drawable/nurse_icon" /> 

    <ImageButton 
     android:id="@+id/ImageButton03" 
     android:layout_width="70dp" 
     android:layout_height="80dp" 
     android:layout_below="@+id/imageButton1" 
     android:layout_marginTop="28dp" 
     android:layout_toRightOf="@+id/radioButton1" 
     android:src="@drawable/police_w_icon" /> 

    <ImageButton 
     android:id="@+id/ImageButton02" 
     android:layout_width="70dp" 
     android:layout_height="80dp" 
     android:layout_alignLeft="@+id/ImageButton01" 
     android:layout_alignTop="@+id/ImageButton03" 
     android:src="@drawable/m_girl_icon" /> 

    <ImageButton 
     android:id="@+id/ImageButton04" 
     android:layout_width="70dp" 
     android:layout_height="80dp" 
     android:layout_alignLeft="@+id/ImageButton02" 
     android:layout_alignTop="@+id/ImageButton05" 
     android:src="@drawable/firefighter_icon" /> 

    <ImageButton 
     android:id="@+id/ImageButton05" 
     android:layout_width="70dp" 
     android:layout_height="80dp" 
     android:layout_alignLeft="@+id/ImageButton03" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="36dp" 
     android:src="@drawable/chef_w_icon" /> 

</RelativeLayout> 

這是我的java文件的樣子:

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


public class GirlMenuActivity extends Activity { 
    ImageButton imagebtn1; 
    ImageButton imagebtn2; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_menu_girl); 

     addListenerOnButton(); 
    } 

    public void addListenerOnButton() { 
     imagebtn1 = (ImageButton) findViewById(R.id.ImageButton01); 
     imagebtn1.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 

       Intent intent = new Intent 
         (getApplicationContext(), PracticeActivity.class); 
        startActivity(intent); 
      } 
     }); 
    } 
} 

正如你可以看到只有一個的ImageButton一直沒有實現。它不起作用。 在此先感謝! :-)

+0

你得到任何錯誤?如果是,粘貼logcat。 – SKK 2013-04-24 04:21:49

+3

你在兩個不同的元素上有'android:id =「@ + id/imageButton1」'和'android:id =「@ + id/ImageButton1」'你確定你點擊了正確的? – Montycarlo 2013-04-24 04:27:03

+0

@Santhosh logcat中沒有錯誤。發現我的錯誤。這是一個鏈接器問題。我連接到錯誤的活動,謝謝。 :-) – 2013-04-24 04:49:39

回答

1

PLZ檢查你的XML頁面圖像按鈕的ID,並給它不同的id..and然後把你的意圖的代碼......也定義烏爾第二課堂,給它到manifest.xml中

Intent intent = new Intent(MainActivity.this, second.class); 
    startActivity(intent); 
0

試試這個代碼:

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_menu_girl); 

     imagebtn1 = (ImageButton) findViewById(R.id.imageButton1); 
     imagebtn1.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 

       Intent intent = new Intent 
         (GirlMenuActivity.this, PracticeActivity.class); 
        startActivity(intent); 
      } 
     }); 
    } 


} 

P.S不要忘記添加PracticeActivity在你的清單文件。
重要的是檢查你的其他活動。如果在oncreate中有一些導致運行時錯誤的東西,那麼它也不會工作。

0

試試這個code.hope它有助於..

imageButton1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

      Intent i = new Intent 
        (MainActivity.this, SecondActivity.class); 
       startActivity(i); 
     } 
    }); 
} 

然後用相同的另一個圖像按鈕...