2012-03-28 113 views
0

我已经实现了许多图像的水平页面视图。我试图在图像上创建一个点击事件。Android图像点击水平页面视图

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.pbase); 
    ImageView binfo,bheacno; 

    tvHeacno=(TextView) findViewById(R.id.tvheacno); 
    heacno=getHeacno(); 
    tvHeacno.setText(heacno); 

    MyPagerAdapter adapter=new MyPagerAdapter(); 
    ViewPager myPager=(ViewPager)findViewById(R.id.mythreepanelpager); 
    myPager.setAdapter(adapter); 
    myPager.setCurrentItem(0); 

    binfo=(ImageView) findViewById(R.id.ivinfo); 
    bheacno=(ImageView) findViewById(R.id.ivheacno); 
    binfo.setOnClickListener(this); 
    bheacno.setOnClickListener(this); 

} 

然后我有MyPagerAdapter类和onclik方法。 它返回null到binfo,因此在binfo.setOnClickListener(this)失败我已经完成了图像在普通页面上成功点击之前的点击。是否因为横向页面浏览?我该如何解决这个问题?

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<LinearLayout android:orientation="vertical" 
    android:layout_width="match_parent" android:layout_height="match_parent"> 
    <LinearLayout android:layout_weight="33" 
     android:layout_gravity="top" android:orientation="horizontal" 
     android:layout_width="match_parent" android:layout_height="match_parent"> 

     <LinearLayout android:layout_weight="33" 
      android:layout_gravity="center_horizontal" android:orientation="vertical" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"> 
      <ImageView android:gravity="center" android:layout_weight="50" 
       android:id="@+id/ivinfo" android:layout_width="wrap_content" 
       android:layout_gravity="center" android:layout_height="wrap_content" 
       android:src="@drawable/information" /> 
      <TextView android:layout_height="wrap_content" 
       android:layout_width="wrap_content" android:textColor="@android:color/black" 
       android:layout_weight="50" android:layout_gravity="center" 
       android:gravity="center" android:text=" Information " /> 
     </LinearLayout> 

     <LinearLayout android:layout_weight="33" 
      android:layout_gravity="center_horizontal" android:orientation="vertical" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"> 
      <ImageView android:gravity="center" android:layout_weight="50" 
       android:id="@+id/ivheacno" android:layout_width="wrap_content" 
       android:layout_gravity="center" android:layout_height="wrap_content" 
       android:src="@drawable/heacno" /> 
      <TextView android:layout_height="wrap_content" 
       android:layout_width="wrap_content" android:textColor="@android:color/black" 
       android:layout_weight="50" android:layout_gravity="center" 
       android:gravity="center" android:text="Get HEAC Number" /> 
     </LinearLayout> 


     <LinearLayout android:layout_weight="33" 
      android:layout_gravity="center_horizontal" android:orientation="vertical" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"> 
      <ImageView android:gravity="center" android:layout_weight="50" 
       android:id="@+id/ivpi" android:layout_width="wrap_content" 
       android:layout_gravity="center" android:layout_height="wrap_content" 
       android:src="@drawable/pi" /> 
      <TextView android:layout_height="wrap_content" 
       android:layout_width="wrap_content" android:textColor="@android:color/black" 
       android:layout_weight="50" android:layout_gravity="center" 
       android:gravity="center" android:text="Personal Information" /> 
     </LinearLayout> 
    </LinearLayout> 
    <LinearLayout android:layout_weight="33" 
     android:layout_gravity="center" android:orientation="horizontal" 
     android:layout_width="match_parent" android:layout_height="match_parent"> 

     <LinearLayout android:layout_weight="33" 
      android:layout_gravity="left" android:orientation="vertical" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"> 
      <ImageView android:gravity="center" android:layout_weight="50" 
       android:id="@+id/ivassn" android:layout_width="wrap_content" 
       android:layout_gravity="center" android:layout_height="wrap_content" 
       android:src="@drawable/assn" /> 
      <TextView android:layout_height="wrap_content" 
       android:layout_width="wrap_content" android:textColor="@android:color/black" 
       android:layout_weight="50" android:layout_gravity="center" 
       android:gravity="center" android:text="Add Social Security Number" /> 
     </LinearLayout> 
     <LinearLayout android:layout_weight="33" 
      android:layout_gravity="left" android:orientation="vertical" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"> 
      <ImageView android:gravity="center" android:layout_weight="50" 
       android:id="@+id/ivvssn" android:layout_width="wrap_content" 
       android:layout_gravity="center" android:layout_height="wrap_content" 
       android:src="@drawable/vssn" /> 
      <TextView android:layout_height="wrap_content" 
       android:layout_width="wrap_content" android:textColor="@android:color/black" 
       android:layout_weight="50" android:layout_gravity="center" 
       android:gravity="center" android:text="View Social Security Number" /> 
     </LinearLayout> 
     <LinearLayout android:layout_weight="33" 
      android:layout_gravity="left" android:orientation="vertical" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"> 
      <ImageView android:gravity="center" android:layout_weight="50" 
       android:id="@+id/ivdssn" android:layout_width="wrap_content" 
       android:layout_gravity="center" android:layout_height="wrap_content" 
       android:src="@drawable/dssn" /> 
      <TextView android:layout_height="wrap_content" 
       android:layout_width="wrap_content" android:textColor="@android:color/black" 
       android:layout_weight="50" android:layout_gravity="center" 
       android:gravity="center" android:text="Delete Social Security Number" /> 
     </LinearLayout> 
    </LinearLayout> 
    <LinearLayout android:layout_weight="33" 
     android:layout_gravity="bottom" android:orientation="horizontal" 
     android:layout_width="match_parent" android:layout_height="match_parent"> 
     <LinearLayout android:layout_weight="33" 
      android:layout_gravity="left" android:orientation="vertical" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"> 
      <ImageView android:gravity="center" android:layout_weight="50" 
       android:id="@+id/ivali" android:layout_width="wrap_content" 
       android:layout_gravity="center" android:layout_height="wrap_content" 
       android:src="@drawable/ali" /> 
      <TextView android:layout_height="wrap_content" 
       android:layout_width="wrap_content" android:textColor="@android:color/black" 
       android:layout_weight="50" android:layout_gravity="center" 
       android:gravity="center" android:text="Add Low Income" /> 
     </LinearLayout> 
     <LinearLayout android:layout_weight="33" 
      android:layout_gravity="left" android:orientation="vertical" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"> 
      <ImageView android:gravity="center" android:layout_weight="50" 
       android:id="@+id/ivvli" android:layout_width="wrap_content" 
       android:layout_gravity="center" android:layout_height="wrap_content" 
       android:src="@drawable/vli" /> 
      <TextView android:layout_height="wrap_content" 
       android:layout_width="wrap_content" android:textColor="@android:color/black" 
       android:layout_weight="50" android:layout_gravity="center" 
       android:gravity="center" android:text="View Low Income" /> 
     </LinearLayout> 
     <LinearLayout android:layout_weight="33" 
      android:layout_gravity="left" android:orientation="vertical" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"> 
      <ImageView android:gravity="center" android:layout_weight="50" 
       android:id="@+id/ivdli" android:layout_width="wrap_content" 
       android:layout_gravity="center" android:layout_height="wrap_content" 
       android:src="@drawable/dli" /> 
      <TextView android:layout_height="wrap_content" 
       android:layout_width="wrap_content" android:textColor="@android:color/black" 
       android:layout_weight="50" android:layout_gravity="center" 
       android:gravity="center" android:text="Delete Low Income" /> 
     </LinearLayout> 
    </LinearLayout> 
</LinearLayout> 

+0

我们可以看到更多的代码吗?这是不足以找出问题(你正在使用这个,我们不知道它正在执行的上下文) – Th0rndike 2012-03-28 07:51:18

+0

检查'binfo'是否为'null',你显然无法调用'null'对象的任何方法 – 2012-03-28 07:51:47

+2

你能分享你收到的例外吗? – 2012-03-28 07:52:33

回答

0
binfo=(ImageView) findViewById(R.id.ivinfo); 
bheacno=(ImageView) findViewById(R.id.ivheacno); 
binfo.setOnClickListener(this); 
bheacno.setOnClickListener(this); 

上面的代码应该在MyPagerAdapter类中。 问题解决了。 thanx你们的帮助

0

尝试。它可能会帮助你。

doneButton.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
            Your code 
              } 
            }); 
0

分享布局xml,我认为错误是在binfo声明,可能有一些层次结构。

binfo =(ImageView)findViewById(R.id.ivinfo);