最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android動態(tài)添加碎片代碼實例

 更新時間:2019年06月20日 10:21:10   作者:煩囂的人  
這篇文章主要介紹了Android動態(tài)添加碎片代碼實例,

碎片的創(chuàng)建

要使用碎片先要創(chuàng)建一個碎片,創(chuàng)建一個碎片很簡單。

1.新建一個碎片布局,fragment.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="這是碎片1"/>
</LinearLayout>

2. 新建一個類Fragment1.java,繼承自Fragment

注意Fragment有兩個不同的包,推薦使用support-v4中的,兼容性更好,另一個安卓4.2以下就會崩潰。在該碎片中可以進行各種操作,就如同操作一個activity。

public class Fragment1 extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.fragment_questions1,container,false);
Log.d("questionMain1","碎片1加載");
return view;
}
}

碎片和活動之間的通信。雖然碎片都是嵌入在活動中顯示的,但他們之間的關系并不明顯。

1.在活動中調(diào)用碎片的方法。FragmentManagert提供了一個類似于finViewById()的方法,用于從布局文件中獲取碎片的實例。如果是動態(tài)加載的就跟簡單了加載是你就有了該碎片的實例。

2.在碎片中調(diào)用活動的方法??梢酝ㄟ^getActivity()方法得到和當前碎片綁定的活動實例。

碎片的綁定

1.靜態(tài)綁定

在活動布局中加一個碎片標簽,比較簡單不細說。android:name="",該標簽為碎片對應的類,注意要包含路徑全名。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="這是碎片3"/>
<fragment
android:id="@+id/fragment1"
android:name="com.example.fragment1"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>

2.動態(tài)綁定

這個才是碎片的強大之處,在程序運行時動態(tài)的添加到碎片中,根據(jù)具體情況來動態(tài)添加碎片,可以將程序界面定制得更加多樣化(多用于自適應手機和平板的應用)

下面的代碼以點擊按鈕。有三個碎片,通過點擊事件在一個活動中動態(tài)切換顯示的碎片。

package com.xiaobu.xiaoyan1.question;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.widget.TextView;
import com.xiaobu.xiaoyan1.R;
import com.xiaobu.xiaoyan1.base.BaseActivity;
public class QuestionsMain extends BaseActivity implements TextView.OnClickListener{
private TextView fragment1;
private TextView fragment2;
private TextView fragment3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_question_main);
initView();
}
private void initView(){
((TextView)findViewById(R.id.question_text)).setTextColor(getResources().getColor(R.color.colorTextChecked));
fragment1=(TextView)findViewById(R.id.quiz_text_view);
fragment2=(TextView)findViewById(R.id.answer_text_view);
fragment3=(TextView)findViewById(R.id.chosen_text_view);
fragment1.setOnClickListener(this);
fragment2.setOnClickListener(this);
fragment3.setOnClickListener(this);
changeFragment(new QuestionsMain1());
checkedChange(fragment1);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.quiz_text_view:
changeFragment(new QuestionsMain1());
break;
case R.id.answer_text_view:
changeFragment(new QuestionsMain2());
break;
case R.id.chosen_text_view:
changeFragment(new QuestionsMain3());
break;
default:
break;
}
}
private void changeFragment(Fragment fragment){
FragmentManager fragmentManager=getSupportFragmentManager();
FragmentTransaction transaction=fragmentManager.beginTransaction();
transaction.replace(R.id.main_view,fragment);//第一個參數(shù)表示容器的id,第二個參數(shù)為碎片實例。
transaction.commit();
}
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

温宿县| 阿克苏市| 特克斯县| 长宁区| 婺源县| 山西省| 仁化县| 彝良县| 满城县| 山西省| 佛教| 黑山县| 沈阳市| 中超| 上思县| 榆中县| 城固县| 祁东县| 东山县| 井冈山市| 武强县| 岳阳县| 敦化市| 六安市| 贞丰县| 容城县| 鸡西市| 重庆市| 青海省| 宣化县| 社旗县| 北碚区| 墨脱县| 广德县| 宁都县| 汶川县| 保山市| 曲阳县| 大荔县| 马关县| 桃江县|