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

Xây dựng class CarDetailFragment.java - Ví lập trình android quản lý car

Ví lập trình android quản lý car

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


Bước 28: Xây dựng class CarDetailFragment.java

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

Tên file: CarDetailFragment.java

Nơi lưu file: java/com/vantinviet/adayroionline/ui/car/detail (Chú ý cần tạo các sub pakage nhé)

Nội dung file:

package com.vantinviet.adayroionline.ui.car.detail;

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.FragmentCarDetailBinding;
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.car.CarViewModel;

public class CarDetailFragment extends PSFragment {

private final androidx.databinding.DataBindingComponent dataBindingComponent = new FragmentDataBindingComponent(this);
private CarViewModel carViewModel;
private String carId;
private PSDialogMsg psDialogMsg;

@VisibleForTesting
private AutoClearedValue<FragmentCarDetailBinding> binding;

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


FragmentCarDetailBinding dataBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_car_detail, container, false, dataBindingComponent);

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

return binding.get().getRoot();

}

@Override
protected void initUIAndActions() {

psDialogMsg = new PSDialogMsg(getActivity(), false);
binding.get().editButton.setOnClickListener(view -> navigationController.navigateToCarFormActivity(getActivity(),carId));



}

@Override
protected void initViewModels() {

carViewModel = ViewModelProviders.of(this, viewModelFactory).get(CarViewModel.class);

}

@Override
protected void initAdapters() {

}

@Override
protected void initData() {

if (getActivity() != null) {
carId = getActivity().getIntent().getStringExtra(Constants.CAR_ID);
}

if (carId != null && !carId.isEmpty()) {
carViewModel.setCarByIdObj(carId);

carViewModel.getCarByIdData().observe(this, result -> {

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

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

case LOADING:
binding.get().setCar(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