2012-01-13 14 views
1

) 私のアプリケーションでViewPagerを実装していて、うまくいくように見えますが、3つのXMLファイルをビューに使用しています。 "settings_view"には2つのEditTextと1つのボタンがあります。デバッグモードでは、nullではないことがわかるため、ボタンは正しくインスタンス化されますが、クリックすると何も起こりません。それをよりよく理解するために、ここでのコードの抜粋:ViewPagerが正しく更新されない/ OnClickListenerが反応しない

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

LayoutInflater getView = getLayoutInflater(); 

     View pushview = getView.inflate(R.layout.push_view,null);  
     View listenView =getView.inflate(R.layout.listen_view, null); 
     View settingsView = getView.inflate(R.layout.settings_view, null); 

login = (Button)settingsView.findViewById(R.id.ok_button1); 
     login_user=(EditText)settingsView.findViewById(R.id.user1); 
     login_pw=(EditText)settingsView.findViewById(R.id.pw1); 


ViewPager myPager = (ViewPager)findViewById(R.id.pager); 

     MyPagerAdapter adapter = new MyPagerAdapter(); 
     myPager.setAdapter(adapter); 
     myPager.setCurrentItem(0); 


login.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 

何か

} 
     }); 

を行うと、ここで私のポケットベルのアダプターです:

class MyPagerAdapter extends PagerAdapter { 

    public int getCount() { 
     return 3; 
    } 

    public Object instantiateItem(View collection, int position) { 

     LayoutInflater inflater = (LayoutInflater) collection.getContext() 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     int resId = 0; 
     switch (position) { 
     case 0: 
      resId = R.layout.settings_view; 
      break; 
     case 1: 
      resId = R.layout.push_view; 
      break; 
     case 2: 
      resId = R.layout.listen_view; 
      break; 

     } 

     View view = inflater.inflate(resId, null); 

     ((ViewPager) collection).addView(view, 0); 

     return view; 
    } 

    @Override 
    public void destroyItem(View arg0, int arg1, Object arg2) { 
     ((ViewPager) arg0).removeView((View) arg2); 

    } 

    @Override 
    public boolean isViewFromObject(View arg0, Object arg1) { 
     return arg0 == ((View) arg1); 

    } 

    @Override 
    public Parcelable saveState() { 
     return null; 
    } 
    public int getItemPosition(Object object) { 
     return POSITION_NONE; 
    } 

それはdoesnの理由だから私は本当に理解することはできませんリスナーは反応しません。 誰かが私の目を開くのですか? おかげ

更新:

ログイン=ボタン(ID = 8300 ....) mAttachInfo = nullの : これらはfindviewbyidでボタンのインスタンスを作成するとき私が得る値です。 。 。 [email protected]

mAttachInfoは必要ですか? またはそれ以外の何かが正常ではありませんか?

更新: XMLでonclickを設定していて、コード内のメソッドだけを使用した場合、正常に動作しますが、今は同じ問題Spinner.setAdapterですが、何も起こりません。

アップデートは:そのリンクでそれを解決し、それは私がonTouchListernerを実装し、その後onclicklisternerを検出しようとしています

http://code.google.com/p/ratebeerforandroid/source/browse/RateBeerForAndroid/src/com/ratebeer/android/gui/fragments/SearchFragment.java#486

+0

をあなたのコードは、「ログイン」ボタンで、あなたが「プッシュ」という名前のビューにonClickListener設定されていると言います。 あなたが必要とするものが得られていないか、質問を言い換える必要があります。 – akkilis

+0

申し訳ありませんが間違ったコードの抜粋を掲載しました...今はそれが正しいです – Florian

+0

あなたはより多くの情報が必要ですか?なぜ誰かが手がかりを持っていない、何をすべきか? – Florian

答えて

関連する問題