2012-10-09 52 views
0

編輯:onClick現在工作正常。問題在於該按鈕試圖從父類中觸發onClick。現在已經修復了。當然,這意味着一個新的問題正在發生,那就是onActivityResult永遠不會被調用。android onClick不發射?

所以我不知道到底發生了什麼,當我按下按鈕時什麼也沒有發生,logcat中沒有任何東西,沒有任何東西,就好像沒有代碼一樣,但我確信這寫的是對的,任何想法?

public class myClass extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.store_selector); 
    Button getStore = (Button)findViewById(R.id.getStore); 

    getStore.setOnClickListener(buttonGetStoreOnClickListener); 
} 

Button.OnClickListener buttonGetStoreOnClickListener 
= new Button.OnClickListener(){ 

    public void onClick(View arg0) { 


    Intent intent = new Intent("com.blah.Blah.client.android.SCAN"); 
    intent.setPackage("com.blah.Blah"); 
    intent.putExtra("com.blah.Blah.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE"); 
    startActivityForResult(intent, 0); 
}; 
}; 


@Override 
public void onActivityResult(int requestCode, int resultCode, Intent intent) 
{ 
    if (requestCode == 0) 
    { 
     if (resultCode == RESULT_OK) 
     { 
      String contents = intent.getStringExtra("SCAN_RESULT"); 
      String format = intent.getStringExtra("SCAN_RESULT_FORMAT"); 
      Log.i("debug tag", "contents: "+contents+" format: "+format); 
      Intent myIntent = new Intent(this, Ads.class); 
      myIntent.putExtra("key", contents); 
      startActivity(myIntent); 
      setContentView(R.layout.activity_ads); 

      // Handle successful scan 
     } 
     else if (resultCode == RESULT_CANCELED) 
     { 
      // Handle cancel 
      Log.i("xZing", "Cancelled"); 
     } 
    } 
} 


}; 
+0

您是否添加了一些斷點並逐步查看會發生什麼? – toadzky

+0

在onClick for buttonGetStoreOnClickListener上添加一個日誌,並在檢查if(requestCode == 0)之前添加一個日誌,這將有所幫助。 –

+0

任何一個都沒有被擊中 – user1661396

回答

0

這是你需要導入類:

import android.view.View.OnClickListener; 

這是你應該有方法:

OnClickListener onButtonListener = new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
    // Your code here 
    } 
}; 

測試它,讓我知道它的工作。

問候

+0

這已被建議作爲評論 –

+0

它是我寫我的迴應時發佈的。 – Spike777

0

你確定你按鈕getStore =(按鈕)findViewById(R.id.getStore)得到了正確的按鈕;

如果是的話,那麼它有時會發生在我身上。 發生這種情況時,我的logcat不顯示任何東西。我需要做的是打開設備視圖(窗口,顯示視圖,其他Android設備)並選擇我的設備。然後當我再次看着logcat時,一切都在那裏。