2012-06-27 81 views
0

哪里有点击ImageView onclick方法没有hapenning。我的意思是不是重定向到我的main.xml我无法在Android设备上的Imageview上设置Onclick事件

//包名:双层

//我cesem.XML:

//只是一个TextView和图像查看 - 缩进四个空间。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="25dp" 
    android:orientation="vertical" > 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Select Your Semester" 
     android:textSize="25dp" 
     android:gravity="center" 
     android:id="@+id/tvSemCe" 
     android:layout_marginBottom="20dp" 
    /> 

<ImageView 
    android:id="@+id/back" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/back" 
    /> 

</LinearLayout> 




//Class file: Cesem.java 


package com.bunk; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ImageView; 

public class Cesem extends Activity implements OnClickListener{ 


    ImageView back; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.cesem); // cesem.xml 

     back=(ImageView) findViewById(R.id.back);// back is ImageView 
     back.setOnClickListener(this); 



    } 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 

     if (v == back) { 
      setContentView(R.layout.main); 
    } 


    } 
} 

回答

0

尝试将元素设置为可点击:

back.setClickable(true); 

或者,也许你看不到怎么一回事,因为点击回调(的setContentView ..)

尝试的内容的反馈记录点击回调内的东西,如

public void onClick(View v) { 
    // TODO Auto-generated method stub 

    if (v == back) { 
     Toast.makeText(this, "Click", Toast.LENGTH_SHORT).show(); 
     setContentView(R.layout.main); 
    } 
} 
+0

仍然没有工作的弟弟.. :( – smitlife

+0

不工作:(你可以请下载并检查它吗? docs.google.com/file/d/0B8kSGDgP5vndelVZRnJ0YUZ0U0k/ – smitlife

+0

哎呀我的意思是这个链接 https://docs.google.com/file/d/0B8kSGDgP5vndelVZRnJ0YUZ0U0k/edit – smitlife

0
if (v.getId() == R.id.back) 

代替

if (v == back) 
+0

Aye队长:)做...谢谢! – smitlife

+0

欢迎您 –

0

更改您的代码为:

public class Cesem extends Activity implements OnClickListener{ 

    ImageView back; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.cesem); // cesem.xml 

     back=(ImageView) findViewById(R.id.back);// back is ImageView 
     back.setOnClickListener(this); 
    } 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 

     if (v.getId() == R.id.back) { 
      Toast.makeText(getApplicationContext(), "Toast 1",Toast.LENGTH_SHORT).show(); 
      Activity.this.setContentView(R.layout.main); 
      } 
      else 
      { 
       Toast.makeText(getApplicationContext(), "Toast 2",Toast.LENGTH_SHORT).show(); 
      } 
    } 
    } 
} 

,并表现为注册您的活动:

<activity 
      android:name=".Cesem" /> 
+0

不能正常工作:(可以请您下载并检查它吗? https://docs.google.com/file/d/0B8kSGDgP5vndelVZRnJ0YUZ0U0k/edit – smitlife

+0

看到我的编辑答案,现在它正在工作中您需要注册你的所有活动 –

+0

仍然无法工作:( – smitlife

相关问题