找不到源代码?
所以,我一直在努力处理同样愚蠢的事情。这里的一些人帮助我得到它这是一点,但现在我已经得到了更远的前进......但首先,我的代码:找不到源代码?
package com.mhe.test.scan;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button myScanButton = (Button) findViewById(R.id.myScanButton);
totalbox = (EditText) findViewById(R.id.tBox);
myScanButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
startActivityForResult(intent, 0);
}
});
}
private EditText totalbox;
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
final String contents = intent.getStringExtra("SCAN_RESULT");
if (totalbox != null);
totalbox.setText(contents);
Context context = getApplicationContext();
CharSequence text = "Successful Scan";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
Button myTotalButton = (Button) findViewById(R.id.myTotalButton);
myTotalButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View view) {
Intent pass = new Intent(view.getContext(), Result.class);
startActivityForResult(pass, 0);
}
});
} else if (resultCode == RESULT_CANCELED) {
if (totalbox != null);
totalbox.setText("bummer");
}
}
}
}
所以无论如何,我想会发生什么扫描成功后,结果将加载到EditText总计框中。然后单击“myTotalButton”并将结果传递给下一个活动“Result.class”。现在我只是想让它切换到新的活动。如果Button myTotalButton = (Button) findViewById(R.id.myTotalButton); myTotalButton.setOnClickListener(new Button.OnClickListener() { public void onClick(View view) { Intent pass = new Intent(view.getContext(), Result.class); startActivityForResult(pass, 0);
代码在那里,FCs。否则,其余的工作正常。任何建议/协助将会有所帮助。我觉得我失去了一些愚蠢的东西,我会为自己而sma for。
我想我刚刚意识到问题所在。
按钮按下的活动回调到它调用的方法onActivityResult
,并使用相同的requestCode为0.这会导致出现错误,您尝试getStringExtra("SCAN_RESULT")
,因为它只存在于扫描的回调中。
代替startActivityForResult(pass, 0);
使用startActivityForResult(pass, 1);
(或其他数字),并通过添加
} else if (1 == requestCode) {
\* your stuff to handle the button result here*\
}
代码段现有requestCode处理它if语句(或使其成为一个开关()语句)。
最终的结果会是这个样子:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
final String contents = intent.getStringExtra("SCAN_RESULT");
if (totalbox != null) {
totalbox.setText(contents);
}
Toast toast = Toast.makeText(getApplicationContext(),
"Successful Scan", Toast.LENGTH_SHORT).show();
Button myTotalButton = (Button) findViewById(R.id.myTotalButton);
myTotalButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View view) {
Intent pass = new Intent(view.getContext(), Result.class);
startActivityForResult(pass, 1);
}
});
} else if (resultCode == RESULT_CANCELED) {
if (totalbox != null) {
totalbox.setText("bummer");
}
}
} else if (requestCode == 1) {
if (resultCode == RESULT_OK) {
// Do whatever it is you want to do with the returned
// data from the Result.class activity call
}
}
}
您是否已将新活动添加到您的Manifest? 另外,你是否包含了zxing项目的intent集成器代码?
是的,我实际上是通过意图调用条码扫描器应用程序。扫描成功 – sgardeski 2010-07-07 19:05:48
所以,我在想,你只是想在结果传递到另一个活动的正确吗?如果是这样,有一个简单的Java方法来做到这一点,这是非特定于Android的。如果是这样,那么让我知道,我会帮助。
是的,这就是它,我希望它发生在我点击myTotalButton时 – sgardeski 2010-07-07 20:15:20
Logcat显示FC背后的原因是什么? – kiswa 2010-07-07 17:23:54
07-07 14:25:44.146:INFO/ActivityManager(1083):Starting activity:Intent {cmp = com.mhe.test.scan/.Result} 07-07 14:25:45.193:DEBUG/dalvikvm(1083 ):GC_EXPLICIT在137ms中释放了789个对象/38656字节 07-07 14:25:45.224:ERROR/Tethering(1083):主动iface(usb0)报告为已添加,忽略 07-07 14:25:48.740:WARN/WindowManager(1083):没有窗口调度指针动作0 07-07 14:25:49.271:WARN/WindowManager(1083):没有窗口调度指针动作1 07-07 14:25:53.154:INFO/ActivityManager( 1083):启动proc 多数民众赞成在详细logcat – sgardeski 2010-07-07 18:34:49
和这看起来像错误的地方...虽然我真的不知道如何处理这个 07-07 14:24:45.224:错误/ AndroidRuntime(2857):引起:java.lang.reflect.InvocationTargetException 它也提到了一个类未找到错误。 – sgardeski 2010-07-07 18:38:28