java如何从另一个活动访问变量
因此,我试图在Locator活动中从我的主活动访问一个字符串,如果我试图将该字符串实例化为公共静态,它会抛出一个错误,并说我不能在非静态类中声明静态字符串,当我试图通过意图获取它时,我会得到一个错误,它说。[编辑]现在,我能够无错误地访问意图,现在我得到一个NullPointerException
No Activity found to handle Intent { (has extras) }
这是我的主要活动代码:
options = (Spinner) findViewById(R.id.optionselect);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.options, 安卓.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(安卓.R.layout.simple_spinner_dropdown_item);
options.setAdapter(adapter);
String XxXSelect =options.getSelectedItem().toString();
Intent i = new Intent(MainActivity.this,Locator.class);
i.putExtra("XxXchoice",XxXSelect);
startActivity(i);
我的定位器活动代码:
行->;204String XxXChoicei = getIntent().getStringExtra("XxXchoice");
全对数
Caused by: java.lang.NullPointerException
at com.example.adrian.trucktracker.Locator.Updater(Locator.java:204)
at com.example.adrian.trucktracker.Locator.clickedUpdate(Locator.java:265)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at 安卓.view.View$1.onClick(View.java:3860)
at 安卓.view.View.performClick(View.java:4480)
at 安卓.view.View$PerformClick.run(View.java:18686)
at 安卓.os.Handler.handleCallback(Handler.java:733)
at 安卓.os.Handler.dispatchMessage(Handler.java:95)
at 安卓.os.Looper.loop(Looper.java:157)
at 安卓.app.ActivityThread.main(ActivityThread.java:5872)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
# 1 楼答案
试试这个
有关更多信息,请访问#Intent
# 2 楼答案
更改代码以摆脱
Bundle
然后在Locator类中执行此操作
您将exta
Bundle
添加到Intent
中,使事情变得复杂,因为该Intent
已经能够携带自己的Bundle
# 3 楼答案
您需要静态变量来在应用程序类中声明全局变量
因此,请将代码更改为:
然后,无论何时需要访问此数据,都可以通过以下方式获取应用程序对象:
别忘了把它添加到AndroidManifest中。xml文件
# 4 楼答案
如果您想使用intent,可以使用md-answer。如果要从主活动访问字符串。java你可以这样做
在你的另一项活动中
此方法用于在需要时访问变量