如何从OnClickListener调用片段 [英] How to call Fragment from OnClickListener
本文介绍了如何从OnClickListener调用片段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的工作片段。我想从onClickListener调用一个片段。
我该怎么办呢?这是我的code。从其他的部分我要的一个电话fragment..how这样做呢?
chartView.setOnClickListener(新View.OnClickListener(){
@覆盖
公共无效的onClick(视图v){
SeriesSelection seriesSelection = chartView
.getCurrentSeriesAndPoint(); 如果(seriesSelection == NULL){
Toast.makeText(getActivity()。getApplicationContext(),
没有图表元素被点击了
Toast.LENGTH_SHORT).show();
}其他{
Toast.makeText(
getActivity()。getApplicationContext(),
图元数据点指数
+(seriesSelection.getPointIndex()+1)
+被点击+点值=
+ seriesSelection.getValue(),
Toast.LENGTH_SHORT).show();
}
}
});
解决方案
有很多方法可以代替片段。
但是我遵循以下方式:
在
创建addFragmentMethod()之类 公共无效addFragments(片段片段){
FragmentManager经理= getSupportFragmentManager();
FragmentTransaction英尺= manager.beginTransaction();
ft.replace(android.R.id.tabcontent,片段);
ft.commit();
}
现在覆盖onAttach()这样的
@覆盖
公共无效onAttach(活动活动){
this.activity =(YourActivity)活性;
myDetail = this.activity.myDetail;
super.onAttach(活动);
}
现在只需拨打
activity.addFragments(片段);
I am working in Fragment. i want to call one fragment from onClickListener. how can i do that? This is my code. from the else part i have to call one fragment..how to do that?
chartView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SeriesSelection seriesSelection = chartView
.getCurrentSeriesAndPoint();
if (seriesSelection == null) {
Toast.makeText(getActivity().getApplicationContext(),
"No chart element was clicked",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(
getActivity().getApplicationContext(),
"Chart element data point index "
+ (seriesSelection.getPointIndex() + 1)
+ " was clicked" + " point value="
+ seriesSelection.getValue(),
Toast.LENGTH_SHORT).show();
}
}
});
解决方案
There are many ways to replacing Fragments. but I follow the way below:
Create addFragmentMethod() like below
public void addFragments(Fragment fragment) {
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
ft.replace(android.R.id.tabcontent, fragment);
ft.commit();
}
now override onAttach() like this
@Override
public void onAttach(Activity activity) {
this.activity = (YourActivity) activity;
myDetail = this.activity.myDetail;
super.onAttach(activity);
}
now just call
activity.addFragments(fragment);
这篇关于如何从OnClickListener调用片段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文