編輯:關於Android編程
在Activity中使用setArguments封裝所需傳遞的值,在Fragment中使用getArguments獲取值。
Activity代碼示例
Bundle bundle = new Bundle();
bundle.putString("name", "zhangsan");
fragment_a.setArguments(bundle);//注意,fragment被hide之後,不能使用setArguments方法
Fragment代碼示例
Bundle bundle = getArguments();
if(bundle!=null){
String name = bundle.getString("name");
textview.setText(name);
}
在Fragment中可以直接通過getActivity方法獲得宿主Activity對象,然後調用實例方法或實例變量。
Activity代碼示例
//在Activity中創建一個實例方法
public void showTips(){
Toast.makeText(this, "來自fragment的提示請求", Toast.LENGTH_LONG).show();
}
Fragment代碼示例
@Override
public void onClick(View v) {
MainActivity mActivity = (MainActivity) getActivity();//獲取Activity對象
mActivity.showTips();//調用Activity中的實例方法
}

step1:在AFragment中創建實例方法或實例變量;
step2:在Activity中動態加載AFragment時,調用
add(int containerViewId, Fragment fragment, String tag)方法,tag是這個Fragment的名字,可自定義;
step3:在BFragment中通過
getActivity().getFragmentManager().findFragmentByTag(tag)方法即可獲得對應的Fragment對象,然後調用此Fragment中創建的實例方法或實例變量。
FragmentA代碼示例
FragmentB fb = (FragmentB) getActivity().getFragmentManager().findFragmentByTag("B");
fb.changeTextB();
FragmentB代碼示例
public void changeTextB(){
textview.setText("FragmentB文字已改變");
}
Activity代碼示例
//將兩個fragment添加至事務中,並添加tag ft.add(R.id.frame_content, fragment_a,"A"); ft.add(R.id.frame_content, fragment_b,"B");
注意:
FragmentA中調用FragmentB中的實例方法,一定要保證FragmentB已經提前添加至事務中。
layout_weight屬性圖解
layout_height的作用:首先按照聲明的尺寸分配,剩余的空間再按照layout_weight進行分配一平均分配:代碼:<code class="h
Android實習收獲:UI細節bug引發的layout_weight深入理解
今天在修改一個布局問題時候,發現自己對權重的理解還不夠。首先問題如圖:一個TextView沒有按要求顯示完整,顯示成了2行。怎麼辦呢?方法1:是把它左面的字體放小。結果師
詳解Android開發中Activity的四種launchMode
Activity棧主要用於管理Activity的切換。當使用Intent跳轉至某個目標Activity,需要根據目標Activity的加載模式來加載。Activity一共
android 自定義控件字體,解決字體偏移,卡頓,代碼重復等問題
其實,安卓上使用自定義的字體非常得簡單,在assets文件夾下面,自己定義一個font文件夾,然後,把自己的字體放進去,可以重命名一下,如圖: 這樣