gpt4 book ai didi

android - 如何使用 ZXING 扫描结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:47 25 4
gpt4 key购买 nike

我正在为这个而伤脑筋。我是 Android 开发的新手。

我想使用 ZXING 的扫描结果。我将 ZXING 集成到我的 android 应用程序中,扫描工作正常。现在我想使用扫描结果来更新主 Activity 中的 TextView。

我该怎么做?

我的代码目前正在执行以下操作:

  1. 使用按钮打开主 Activity 。
  2. 点击按钮会激活扫描仪。
  3. 扫描后返回主 Activity 。
  4. TextView 是空的,出于某种原因,它在从横向移动到纵向后返回到原始内容。

在 (2) 之后我想使用扫描结果更新主要 Activity 中的 TextView(我的代码中的电视)。

请大家帮忙谢谢。

我的代码:

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 pressToScan = (Button) findViewById(R.id.button1);

pressToScan.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent data = new Intent("com.google.zxing.client.android.SCAN");
data.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(data, 0);

TextView tv = (TextView) findViewById(R.id.scanResult);
tv.setText(data.getStringExtra("SCAN_RESULT"));
}
});
}

public void onActivityResult(int requestCode, int resultCode, Intent data) {
String contents = null;
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
contents = data.getStringExtra("SCAN_RESULT");
String format = data.getStringExtra("SCAN_RESULT_FORMAT");

// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}

}

最佳答案

移动下面的方 block

TextView tv = (TextView) findViewById(R.id.scanResult);
tv.setText(data.getStringExtra("SCAN_RESULT"));

public void onActivityResult(int requestCode, int resultCode, Intent data) {
String contents = null;
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
contents = data.getStringExtra("SCAN_RESULT");
String format = data.getStringExtra("SCAN_RESULT_FORMAT");
//moved here
TextView tv = (TextView) findViewById(R.id.scanResult);
tv.setText(contents);
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}

[编辑]

将此添加到您的 Activity 中

@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}

在 list 中更改主要 Activity 以添加 android:configChanges="orientation"

<activity android:name="..."
android:label="@string/appName"
android:configChanges="orientation"

关于android - 如何使用 ZXING 扫描结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9955132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com