package com.example.arial.mvvm.fragment;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.arialyy.frame.module.AbsModule;
import com.example.arial.mvvm.R;
import com.example.arial.mvvm.base.BaseFragment;
import com.example.arial.mvvm.config.Constance;
import com.example.arial.mvvm.databinding.FragmentModuleBinding;
import com.example.arial.mvvm.dialog.IpDialog;
import com.example.arial.mvvm.module.AddressModule;
import com.example.arial.mvvm.module.IPModule;
import butterknife.InjectView;
/**
* Created by lyy on 2016/7/13.
*/
public class ModuleFragment extends BaseFragment<FragmentModuleBinding> implements View.OnClickListener {
@InjectView(R.id.use_module_1)
Button mUseModule1;
@InjectView(R.id.use_module_2)
Button mUseModule2;
@InjectView(R.id.show_dialog)
Button mShowDialog;
public static ModuleFragment newInstance() {
Bundle args = new Bundle();
ModuleFragment fragment = new ModuleFragment();
fragment.setArguments(args);
return fragment;
}
@Override
protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
mUseModule1.setOnClickListener(this);
mUseModule2.setOnClickListener(this);
mShowDialog.setOnClickListener(this);
}
@Override
protected int setLayoutId() {
return R.layout.fragment_module;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.use_module_1:
getModule(IPModule.class).getIpInfo();
break;
case R.id.use_module_2:
getModule(AddressModule.class, new AbsModule.OnCallback() {
@Override
public void onSuccess(int result, Object success) {
if (result == Constance.KEY.GET_ADDR) {
getBinding().setStr(success + "");
}
}
@Override
public void onError(int key, Object error) {
}
}).getAddr();
break;
case R.id.show_dialog:
IpDialog dialog = new IpDialog(this);
dialog.show(getChildFragmentManager(), "ip_dialog");
break;
}
}
@Override
protected void dataCallback(int result, Object obj) {
super.dataCallback(result, obj);
if (result == Constance.KEY.GET_IP) {
getBinding().setStr(obj + "");
} else if (result == Constance.KEY.IP_DIALOG) {
getBinding().setDialogStr(obj + "");
}
}
}