[英]how to access variables of one class from another in android studio
[英]Android Studio : How to keep variables from one java file to another
我正在开发一个将扫描数据(条形码)转换为 GoogleSheet 数据的应用程序,并且我正在尝试将条形码编号(来自 Page2.java)传输到另一个 java 文件(ListItem.java)
我看到通常的方法是创建意图。 所以我做到了。 但是我放入 ListItem.java 的吐司给了我“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();
}
}
在以下行的Listitem.java中,
String scanContent2 = getIntent().getStringExtra("theScanContent");
您正在尝试使用键theScanContent获取 String ,同时将键theScanContent2的 scanContent2 放在 Page2.java 中
intent.putExtra("theScanContent2", scanContent2);
确保 Intent 的键相同,同时将数据放入 Intent 并从 Intent 访问数据以避免获得 null 结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.