2012-02-11 15 views
0

私はViewPagerでアクティビティを持っており、3つのレイアウトがあります。各レイアウトにはそれぞれ10個のボタンがあり、各ボタンをクリックして機能させたいと思います。ですから、ボタンごとにonClick()メソッドを定義するという簡単な方法を試してみると、これらの30個のsetOnClickListener(this)コールと30個のonClickメソッドがあるので、面白く面倒なことになります。ViewPagerの現在のフォーカスされたビューに私のカスタムonClickメソッドを与える方法はありますか?

私は非常に重要な機能を見つけました。android:onClickを使用して、xmlファイルのカスタムonClickメソッドにすべてのキーを登録してから、ボタンをクリックすると、アクティビティが呼び出されます。

私の場合は、Viewページャを使用して、私はすでに画面にビューを持ってきました。私はあなたのアクティビティでというonClickTest()というカスタムonClickメソッドを登録しました。

public void onClickTest(View v) { 

     int id = v.getId(); 
     String idname = getResources().getResourceEntryName(id);  
     Log.i("Sen", "clicked view = "+idname); 

     switch (id) { 
     case R.id.btn_test: 
      testActivity(); 
      break; 
     default: 
      break; 
} 

しかし、私はviewPagerビューでボタンをクリックしたときに、私は私のonClickMethodを実行することはできませんよ。私はそれが眺めを得ていないと思う。

これは私のViewPager

public Object instantiateItem(View collection, int position) { 
      final LayoutInflater inflater = (LayoutInflater) TestActivity.this 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

       switch (position) { 
       case 0: 
        View v0 = inflater.inflate(R.layout.layout1, null, false); 
        ((ViewPager) collection).addView(v0, 0); 
        return v0;    
       default: 
        return true; 
      } 
    } 

のインスタンス化方法であるlayout1は10個のキーとbtn_testはそれで一つのキーであるがあります。

これを機能させる方法を教えてください。

おかげで、
セン

答えて

0

ご質問はビット互いに素です。 onClick()について複数話をした後、について学んだ後、が繋がれているとは言わないが、onClick()リスナーに「登録」するようにジャンプする。

これらの方法のいずれかを選択して機能させることができます。 android:onClick="onClickTest"をXMLのbtn_testボタンに追加してみてください。あなたが既に持っている場合は、次回にそれを見せてください。私たちはすでにあなたが行ったことを推測していません。

関連する問題