Giải pháp chuyển đổi số trọn gói cho doanh nghiệp Việt

Xây dụng UI code cho ItemFragment - Tài liệu lập trình android

Tài liệu lập trình android

← Toàn bộ tài liệu


Bước 27: Xây dụng UI code cho ItemFragment

Bài 27/36 Xem dạng sách

Nội dung file

package com.vantinviet.adayroionline.ui.item;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.databinding.DataBindingUtil;
import androidx.lifecycle.ViewModelProviders;


import com.vantinviet.adayroionline.R;
import com.vantinviet.adayroionline.binding.FragmentDataBindingComponent;
import com.vantinviet.adayroionline.databinding.FragmentItemBinding;
import com.vantinviet.adayroionline.ui.common.PSFragment;
import com.vantinviet.adayroionline.utils.AutoClearedValue;
import com.vantinviet.adayroionline.utils.Constants;
import com.vantinviet.adayroionline.utils.PSDialogMsg;
import com.vantinviet.adayroionline.viewmodel.item.ItemViewModel;

public class ItemFragment extends PSFragment {

private final androidx.databinding.DataBindingComponent dataBindingComponent = new FragmentDataBindingComponent(this);
private ItemViewModel itemViewModel;
private String itemId;
private PSDialogMsg psDialogMsg;

@VisibleForTesting
private AutoClearedValue<FragmentItemDetailBinding> binding;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {


FragmentItemDetailBinding dataBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_item_detail, container, false, dataBindingComponent);

binding = new AutoClearedValue<>(this, dataBinding);

return binding.get().getRoot();

}

@Override
protected void initUIAndActions() {

psDialogMsg = new PSDialogMsg(getActivity(), false);


}

@Override
protected void initViewModels() {

itemViewModel = ViewModelProviders.of(this, viewModelFactory).get(ItemViewModel.class);

}

@Override
protected void initAdapters() {

}

@Override
protected void initData() {

if (getActivity() != null) {
itemId = getActivity().getIntent().getStringExtra(Constants.ITEM_ID);
}

if (itemId!= null && !itemId.isEmpty()) {
itemViewModel.setItemByIdObj(blogId);

itemViewModel.getItemByIdData().observe(this, result -> {

if (result != null) {
if (result.data != null) {
switch (result.status) {
case SUCCESS:
binding.get().setItem(result.data);
break;

case ERROR:
psDialogMsg.showErrorDialog(getString(R.string.item_detail__error_message), getString(R.string.app__ok));
psDialogMsg.show();
break;

case LOADING:
binding.get().setItem(result.data);
break;
}
}
}
});
}

}
}

Sơ đồ quan hệ các bảng

Table Name: {{table.name}}
Num Name Type
{{field_index+1}}
{{field.name}} {{field.type}}

Hỏi đáp

Gửi với tên {{comment_full_name}}

Chưa có câu hỏi nào cho bài này.

Zalo 0936.006.058 Hotline 0936.006.058