【发布时间】:2019-11-03 19:27:22
【问题描述】:
我正在开发一个将扫描数据(条形码)转换为 GoogleSheet 数据的应用程序,并且我正在尝试将条形码编号(来自 Page2.java)传输到另一个 java 文件(ListItem.java)中
我看到通常的方法是创建意图。所以我做到了。 但是我在 ListItem.java 中放入的 toast 给了我“null”而不是扫描的数字(例如 0123456789012)
拜托,你能告诉我我哪里错了吗?非常感谢!
第一个代码(Page2.java,我得到“scanContent2”,我需要的变量):
public class Page2 extends Activity implements OnClickListener {
@SuppressLint("ClickableViewAccessibility")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.page2);
scanBtn2 = (Button) findViewById(R.id.scan_button2);
scanBtn2.setOnClickListener(this);
}
public Button scanBtn2;
public String scanContent2;
@Override
public void onClick(View v) {
if (v.getId() == R.id.scan_button2) {
IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanningResult != null) {
scanContent2 = scanningResult.getContents();
Intent intenta = new Intent(getApplicationContext(),ListItem.class);
intenta.putExtra("theScanContent2", scanContent2);
startActivity(intenta);
} else {
Toast toast = Toast.makeText(getApplicationContext(),
"No scan data received!", Toast.LENGTH_SHORT);
toast.show();
}
}
}
第二个代码(ListItem.java,我在吐司上得到“null”):
public class ListItem extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_item);
String scanContent2 = getIntent().getStringExtra("theScanContent");
Toast toast = Toast.makeText(getApplicationContext(),
"BarCode number: " + scanContent2, Toast.LENGTH_SHORT);
toast.show();
}
}
【问题讨论】:
-
你写了一次“theScanContent2”,一次写了“theScanContent”。
-
谢谢我没看到!
标签: java android file variables export