0

编辑: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");
        }
    }
}


};
4

2 回答 2

0

这是您需要导入的类:

import android.view.View.OnClickListener;

这是你应该有的方法:

OnClickListener onButtonListener = new OnClickListener() {

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

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

问候

于 2012-10-09T19:46:00.187 回答
0

你确定你有正确的按钮吗Button getStore = (Button)findViewById(R.id.getStore); ?

如果是,那么这可能是有时发生在我身上的事情。发生这种情况时,我的 logcat 不会显示任何内容。我解决这个问题的方法是打开设备视图(窗口、显示视图、其他、Android、设备)并选择我的设备。然后当我再次查看 logcat 时,一切都在那里。

于 2012-10-09T19:51:20.147 回答