android onClick没有开火?

时间:2012-10-09 19:30:53

标签: java android onclick

编辑:onClick现在正常运行。问题是该按钮试图从Parent类触发onClick。现在已经修好了。当然,这意味着一个新问题正在发生,即onActivityResult永远不会被调用。

所以我真的不确定到底是怎么回事,当我点击按钮时没有任何反应,没有任何东西在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");
        }
    }
}


};

2 个答案:

答案 0 :(得分:0)

这是您需要导入的类:

import android.view.View.OnClickListener;

这是你应该拥有的方法:

OnClickListener onButtonListener = new OnClickListener() {

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

测试它,让我知道它是否有效。

此致

答案 1 :(得分:0)

你确定你有一个正确的按钮按钮getStore =(按钮)findViewById(R.id.getStore);

如果是的话,那么有时我可能会遇到这种情况。 发生这种情况时,我的logcat没有显示任何内容。我要做的就是打开设备视图(窗口,显示视图,其他,Android,设备)并选择我的设备。然后,当我再次看到logcat时,一切都在那里。