【发布时间】:2017-05-10 09:30:08
【问题描述】:
我有一个活动,它正在从其他活动中获取一些字符串:
public class ShowPoints extends AppCompatActivity {
public String points;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_points);
Intent i = getIntent();
points = i.getStringExtra("geoPoints");
}
}
这行得通。
从这个活动ShowPoints,我想将接收到的字符串points发送到其名为PointsOnMap的片段
为此,我创建了片段 PointsOnMap 并这样做了:
public class PointsOnMap extends Fragment implements OnMapReadyCallback {
......
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
act = new ShowPoints();
String points = act.points;
mView = inflater.inflate(R.layout.activity_points_on_map, container, false);
return mView;
}
但片段PointsOnMap 的String points 从未填充来自活动ShowPoints 的字符串。
我想知道我做错了什么。我在这里阅读了其他一些帖子,似乎我的做法是正确的。
----编辑----
我对代码所做的最后一次编辑似乎不起作用,我很确定问题出在我传递参数的部分,因为在没有传递参数的情况下,一切正常,并且显示了初始映射。
所以到目前为止,包含该类的活动是这样的:
public class ShowPoints extends AppCompatActivity {
public String points;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_points);
Intent i = getIntent();
points = i.getStringExtra("geoPoints");
PointsOnMap pointsOnMapFragment = new PointsOnMap();
Bundle bundle = new Bundle();
bundle.putString("geoPoints",points);
pointsOnMapFragment.setArguments(bundle);
Log.d("REACHED HERE","---------");
}
}
我正在检索传递的字符串的片段部分是这样的:
public class PointsOnMap extends Fragment implements OnMapReadyCallback {
......
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle args = getArguments();
geopoints = args.getString("geoPoints");
mView = inflater.inflate(R.layout.activity_points_on_map, container, false);
return mView;
}
由于某种原因它仍然无法正常工作......回溯表明null object reference在线片段上的geopoints = args.getString("geoPoints");
【问题讨论】:
-
因为它显示的是点变量的垃圾值
-
您无法实例化您的活动。而不是在为片段进行交易时使用
setArguments(bundle)。 -
嘿 AlphaQ,我知道它可能是重复的,但正如我在下面评论的那样,我已经尝试了其他一些方法,比如在那篇文章中的 Bundle,但它没有用....无论如何,我会给它再试一次
-
请发布最新代码
标签: android android-fragments android-activity