Android:从mapfragment调用活动
我想用浮动按钮从我的mapfragment调用一个活动,但它不工作,应用程序不断崩溃 MapsActivity.javaAndroid:从mapfragment调用活动,android,Android,我想用浮动按钮从我的mapfragment调用一个活动,但它不工作,应用程序不断崩溃 MapsActivity.java public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { private GoogleMap mMap; String json_string; //ici seront stockées les information concernant les établis
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
String json_string; //ici seront stockées les information concernant les établissements
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
public void getBar(View view){
Log.v("myTag","button Clicked");
Intent intent = new Intent(this, DisplayFilter.class);
startActivity(intent);
}
}
public class DisplayFilter extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.filtreview);
Log.v("myTag","vue affichée");
}
}
DisplayFilter.java
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
String json_string; //ici seront stockées les information concernant les établissements
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
public void getBar(View view){
Log.v("myTag","button Clicked");
Intent intent = new Intent(this, DisplayFilter.class);
startActivity(intent);
}
}
public class DisplayFilter extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.filtreview);
Log.v("myTag","vue affichée");
}
}
航海日志显示了这一点
它谈到了android清单,但我认为我不应该对其进行编辑,对吗 我猜您的问题来自此代码
public void getBar(View view){
Log.v("myTag","button Clicked");
Intent intent = new Intent(this, DisplayFilter.class);
//Intent intent = new Intent(getActivity(), DisplayFilter.class);
startActivity(intent);
}
问题是您处于片段中
,因此无法传递此
,您必须使用getActivity()
您需要一个上下文
,因此也可以调用view.getContext()
每当您想要创建活动时,请执行以下步骤:
照片摄于:
您的清单应该如下所示:
<application
....
<activity1></activity1>
<activity
android:name=". DisplayFilter" />
...
</application>
检查我的上次编辑,如果它不起作用,发布日志cat错误。请在我的原始帖子中添加日志。您是否在清单中声明了您的活动?我在其中声明了我的mapactivity,我是否也应声明DisplayFilter?它起作用了!!我将其添加到清单并使用view.getContext()。谢谢在我原来的帖子中添加了日志