編輯:關於Android編程
Android 兩個Fragment之間如何傳遞數據
FragmentA啟動FragmentB,做一些選擇操作後,返回FragmentA,需要把FragmentB裡面選擇的數據傳回來。有什麼辦法?
Fragment之間不能直接通信,必須通過Activity來完成,具體步驟。
1. 在FragmentA中定義通信接口,通過該接口向Activity發送數據。
public class FragmentA extends Fragment {
private onButtonPressListener mListener;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_linmo_select_beitie, container, false);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mListener.onOKButtonPressed(selectedBeitie);
}
});
return view;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (onButtonPressListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement onOkButtonPressed");
}
}
public interface onButtonPressListener {
void onOKButtonPressed(LinmoBeitieItem item);
}
}
2. 在Activity中實現該接口,並通過該接口向FragmentB傳遞數據。
public class MainActivity extends Activity implements FragmentA.onButtonPressListener {
@Override
public void onOKButtonPressed(LinmoBeitieItem item) {
FragmentB fragmentB = (FragmentB)getFragmentManager().findFragmentById(R.id.container);
fragmentB.onBeitieSelected(item);
}
}
3. FragmentB接收到數據並處理。
public class FragmentA extends Fragment {
public void onBeitieSelected(LinmoBeitieItem item) {
// ...
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
Core Data
一、技術概覽1. Core Data 功能初窺對於處理諸如對象生命周期管理、對象圖管理等日常任務,Core Data框架提供了廣泛且自動化的解決方案。它有以下特性。(注:
Android Media Framework 總綱
1. Media Framework 層次(1) 應用層Music, VideoPlayer(2) JAVA層MediaPlayer : frameworks/base/
超酷炫的Android碎紙機效果推薦
在Android開發中,有時候可能會要用到碎紙機的效果,今天小編為大家整理好代碼,一起來看看吧。首先來看下效果圖實例代碼xml<com.ldoublem.Paper
Android開發之MdiaPlayer詳解
MediaPlayer類可用於控制音頻/視頻文件或流的播放一、構造方法和公有方法構造方法: Public Constructors MediaPlayer()