Android:从mapfragment调用活动

Android:从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

我想用浮动按钮从我的mapfragment调用一个活动,但它不工作,应用程序不断崩溃

MapsActivity.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");
}
}
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()。谢谢在我原来的帖子中添加了日志