導航:首頁 > 操作系統 > androidfragmentui

androidfragmentui

發布時間:2023-06-03 11:29:51

android中Fragment怎樣刷新UI

在activity 的onActivityResult 調虛攜罩用fragment 的onActivityResult 方法隱汪,
例如getSupportFragmentManager().getFragments().get(mViewPager.getCurrentItem()).onActivityResult(requestCode, requestCode, data);
然差鬧後在fragment的onActivityResult做處理

② Android中Fragment怎樣刷新UI

刷新UI要在主頌絕線程,Fragment和Activity是類似的,所以在要刷新UI的地方handler發者櫻扒送消息,在主線程中定義的首昌hanler處理消息,更新UI,建議看下安卓的安卓handler機制。

③ 如何使用Android UI Fragment開發分頁界面

需要在activity視圖層級結構中為fragment視圖安排位置,創建fragment容器布局:
step1/3 創建Fragment容器布局
activity_crime.xml
<FragmeLayout xmlns:android:"https://schemas.android.com/apk/res/android"
android:id="@+id/fragmentContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>

step2/3 創建UI Fragment
但此時,activity還未託管fragment,所以代碼運行後UI看不到任何內容。接下來需要編寫代碼,創建UI Fragment,覆寫fragment的生命周期函數(幾乎對應到activity的聲明周期函數)。 創建fragment和創建activity步驟相同:定義布局文件、創建fragment子類、在代碼中關聯布局文件聲明的組件。
public class CrimeFragment extends Fragment {
private Crime mCrime;
private EditText mTitleField;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mCrime = new Crime();
}

@Override
// 由onCreateView方法生成fragment的視圖
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_crime, parent, false);
// 調用View.findViewById(int)
mTitleField = (EditText)v.findViewById(R.id.crime_title);
// 監聽器方法設置和activity一樣
mTitleField.addTextChangedListener(new TextWathcer() {
public void onTextChanged(...) {}
public void beforeTextChanged(...) {}
public void afterTextChanged(...) {}
});

return v;
}
}

step3/3 添加UI Fragment到FragmentManager
但此時運行,仍然看不到fragment,還需要將fragment的視圖放置到FrameLayout容器中,以添加給activity。所以並沒有「start fragment」這個概念。 FragmentManager類負責管理fragment並將它們的視圖添加到activity的視圖層級結構中。fragment transactions(事務)被用來添加、移除、附加、分離或替換fragment隊列中的fragment。這是使用fragment在運行時組裝和重新組裝用戶界面的核心方式。FragmentManager管理著fragment transactions的回退棧。
import android.support.v4.app.Fragment
public class CrimeActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_crime);

FragmentManager fm = getSupportFragmentManager();

// 使用R.id.fragmentContainer的容器視圖資源ID,向FragmentManager請求獲取fragment。如要獲取的fragment在隊列中已經存在,FragmentManager隨即會將之返還。
Fragment fragment = fm.findFragmentById(R.id.fragmentContainer);

// 如指定容器視圖資源ID的fragment不存在,則fragment變數為空值。
// 這時應創建一個新的CrimeFragment,並創建一個新的fragment transaction用來把新建的fragment添加到隊列中。
if (fragment == null) {
fragment = new CrimeFragment();
fm.beginTransaction()
.add(R.id.fragmentContainer, fragment)
.commit();
}
}
}

FragmentManager保持fragment與activity的狀態一致,但fragment方法究竟是在activity方法之前還是之後調用的這一點是無法保證的。

閱讀全文

與androidfragmentui相關的資料

熱點內容
淘寶想多開店怎麼租伺服器 瀏覽:580
小鹿情感app怎麼打不開了 瀏覽:325
可自編譯的C 瀏覽:62
vfl90壓縮機是哪個廠家 瀏覽:677
安卓系統游戲怎麼開發 瀏覽:410
抖助力app綁定的銀行卡怎麼辦 瀏覽:466
我的電腦文件夾打開方式 瀏覽:931
東莞加密u盤公司 瀏覽:137
graphvizlinux 瀏覽:438
智能手錶藍牙怎麼下載app 瀏覽:293
女程序員下班菜譜 瀏覽:260
加密貨幣買什麼比較靠譜 瀏覽:277
用圖片的地圖再編譯的地方 瀏覽:462
python監控系統進程 瀏覽:236
群暉怎麼取消照片共享文件夾 瀏覽:156
程序員那麼可愛第幾集陸璃懷孕 瀏覽:615
西門子st編程手冊 瀏覽:59
mt4編程書籍 瀏覽:21
單片機模擬實驗設置電壓 瀏覽:948
如何用電腦打開安卓手機內存 瀏覽:860