如何从膨胀的布局中获取片段
How to get fragment from inflated layout
我已将布局 content_main.xml
扩展为 view
变量 vi
我应该如何从这个膨胀的视图中获得 fragment
?
可能是这样的:
SupportMapFragment mapFragment = (SupportMapFragment) inflatedView.getSupportFragmentManager()
.findFragmentById(R.id.map);
public void getMapFragment()
{
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View vi = inflater.inflate(R.layout.content_main, null);
CoordinatorLayout mainL = (CoordinatorLayout) findViewById(R.id.main_view);
mainL.removeAllViews();
mainL.addView(vi);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
谢谢您的回答!
如果您的扩充布局包含 <fragment/>
标记,即如果您的片段以 XML 方式扩充它所在的 activity,那么您可以 "get"片段来自:
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
你要求 FragmentManager
找到你的片段,这不同于要求 View
找到它。
如果您的扩充布局包含您以编程方式添加的片段,即您在 activity 的 XML 中放置了一个标签,并使用 FragmentTransaction
将片段添加到您的查看(使用 TAG!),然后您可以通过以下方式 "get" 片段:
SupportMapFragment mapFragment = (SupportMapFragment)
getSupportFragmentManager().findFragmentByTag("MAP");
有关片段的更多信息,请参阅此 source。
我已将布局 content_main.xml
扩展为 view
变量 vi
我应该如何从这个膨胀的视图中获得 fragment
?
可能是这样的:
SupportMapFragment mapFragment = (SupportMapFragment) inflatedView.getSupportFragmentManager()
.findFragmentById(R.id.map);
public void getMapFragment()
{
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View vi = inflater.inflate(R.layout.content_main, null);
CoordinatorLayout mainL = (CoordinatorLayout) findViewById(R.id.main_view);
mainL.removeAllViews();
mainL.addView(vi);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
谢谢您的回答!
如果您的扩充布局包含 <fragment/>
标记,即如果您的片段以 XML 方式扩充它所在的 activity,那么您可以 "get"片段来自:
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
你要求 FragmentManager
找到你的片段,这不同于要求 View
找到它。
如果您的扩充布局包含您以编程方式添加的片段,即您在 activity 的 XML 中放置了一个标签,并使用 FragmentTransaction
将片段添加到您的查看(使用 TAG!),然后您可以通过以下方式 "get" 片段:
SupportMapFragment mapFragment = (SupportMapFragment)
getSupportFragmentManager().findFragmentByTag("MAP");
有关片段的更多信息,请参阅此 source。