sle*_*dav 3 android android-fragments android-listfragment android-fragmentactivity
我有默认的Master-Detail流程,它是在创建新项目时自动创建的.我的问题是.当我向细节侧添加按钮时.有没有办法按下按钮更新我的列表?换句话说,ItemDetailFragment和ItemListFragment可以通信吗?
是的,只需通过活动与听众进行沟通.
你的活动:
public class MyActivity extends FragmentActivity implements OnFragmentClickListener {
@Override
public void OnFragmentClick(int action, Object object) {
switch(action) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
监听器类:
public interface OnFragmentClickListener {
public void OnFragmentClick(int action, Object object);
}
Run Code Online (Sandbox Code Playgroud)
然后,您的片段将在代码中的某个位置跟随以实现接口:
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (OnFragmentClickListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement listeners!");
}
}
Run Code Online (Sandbox Code Playgroud)
然后你的碎片就像这样相互沟通:fragmentA - > activity - > fragmentB.您的活动可以直接在片段上调用方法,而无需担心同步问题.
来自片段a的调用示例:
mListener.OnFragmentClick(GLOBAL_ACTION_KEY someObject);
Run Code Online (Sandbox Code Playgroud)
活动然后处理:
public class MyActivity extends FragmentActivity implements OnFragmentClickListener {
@Override
public void OnFragmentClick(int action, Object object) {
switch(action) {
case GLOBAL_ACTION_KEY:
// you call fragmentB.someMethod();
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3708 次 |
| 最近记录: |