У меня есть 10 макетов, и я теперь использую ViewFlipper, чтобы показать все из них, как связать каждый виджет макета с ViewFlipper? - PullRequest
0 голосов
/ 07 марта 2019

Я использую ViewFillper, чтобы показать 10 макетов на одном главном экране, он отлично работает, но во всех десяти макетах есть какой-то виджет, и я хочу получить к нему доступ, когда viewFlipper загружает макет концерна. когда я показываю данные в этих 10 макетах только в первом макете, данные отображаются, а в остальных данные не отображаются. Кто-нибудь может помочь мне из этого?

View view;

@BindView(R.id.layout_share_card)
LinearLayout layoutShareCard;

TextView tvCardName, tvCardAddress;
private int cardNumber;
private String token;
ViewFlipper viewFlipper;


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    view = inflater.inflate(R.layout.fragment_your_card, container, false);
    getActivity().setTitle("YOUR CARD");
    token = GeneralUtils.getApiToken(getActivity());
    cardNumber = GeneralUtils.getCardID(getActivity());
    viewFlipper = (ViewFlipper) view.findViewById(R.id.vf);
    initUI();

    viewFlipper.setDisplayedChild(cardNumber);

    tvCardName = viewFlipper.findViewById(R.id.tv_card_name);
    tvCardAddress = viewFlipper.findViewById(R.id.tv_card_address);

    return view;
}

private void initUI() {
    ButterKnife.bind(this, view);


    alertDialog = AlertUtils.createProgressDialog(getActivity());
    alertDialog.show();
    apiCallCardDetail();

    layoutShareCard.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            GeneralUtils.connectDrawerFragment(getActivity(), new NearPeoplesFragment());
        }
    });

}

private void apiCallCardDetail() {
    ApiInterface services = ApiClient.getApiClient(token).create(ApiInterface.class);
    Call<CardResponseModel> userLogin = services.getCardDetail(1);
    userLogin.enqueue(new Callback<CardResponseModel>() {
        @Override
        public void onResponse(Call<CardResponseModel> call, Response<CardResponseModel> response) {
            alertDialog.dismiss();
            if (response.body() == null) {
                try {
                    JSONObject jObjError = new JSONObject(response.errorBody().string());
                    Toast.makeText(getActivity(), jObjError.getString("message"), Toast.LENGTH_SHORT).show();
                } catch (Exception e) {
                    Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show();
                }

            } else if (response.body().getStatus()) {
                tvCardName.setText(response.body().getData().getName());
                tvCardAddress.setText(response.body().getData().getAddress());
            }
        }

        @Override
        public void onFailure(Call<CardResponseModel> call, Throwable t) {
            alertDialog.dismiss();
            Toast.makeText(getActivity(), t.getMessage(), Toast.LENGTH_SHORT).show();
        }
    });
}

}

...