设备移交协议书 - Android 开发代码示例
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Toast;
import com.example.app.MyApplication;
import com.example.app.R;
import com.example.app.ui.AddAssetActivity;
import com.example.app.ui.HandoverActivity;
import com.example.app.ui.widget.OperateDialog;
import com.example.app.util.ToastUtil;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class AssetDetailActivity extends Activity implements AssetContract.View {
private static final int REQUEST_CODE_UPDATE_ASSET = 1;
@BindView(R.id.tv_asset_name)
TextView mTvAssetName;
@BindView(R.id.tv_asset_code)
TextView mTvAssetCode;
@BindView(R.id.tv_asset_type)
TextView mTvAssetType;
@BindView(R.id.tv_asset_owner)
TextView mTvAssetOwner;
private AssetInfo mAssetInfo;
private AssetPresenter mPresenter;
private ProgressDialog mProgressDialog;
private OperateDialog mOperateDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_asset_detail);
ButterKnife.bind(this);
mPresenter = new AssetPresenter(this);
mAssetInfo = (AssetInfo) getIntent().getSerializableExtra(AddAssetActivity.EXTRA_ASSET_INFO);
initUI();
}
private void initUI() {
mTvAssetName.setText(mAssetInfo.getAssetName());
mTvAssetCode.setText(mAssetInfo.getAssetCode());
mTvAssetType.setText(mAssetInfo.getAssetType());
mTvAssetOwner.setText(mAssetInfo.getUserName());
}
@OnClick({R.id.btn_handover, R.id.btn_delete, R.id.btn_store, R.id.btn_update})
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_handover:
handoverAsset();
break;
case R.id.btn_delete:
deleteAsset();
break;
case R.id.btn_store:
storeAsset();
break;
case R.id.btn_update:
updateAsset();
break;
}
}
private void handoverAsset() {
Intent intent = new Intent(this, HandoverActivity.class);
intent.putExtra(HandoverActivity.EXTRA_ASSET_INFO, mAssetInfo);
if (MyApplication.getInstance().mLoginUser != null) {
if (MyApplication.getInstance().mLoginUser.getUserId().equals(mAssetInfo.getUserId())) {
//登录用户为设备拥有者
intent.putExtra(HandoverActivity.ASSET_HANDOVER_TYPE, HandoverActivity.ASSET_HANDOVER_TYPE_OWNER);
} else {
//登录用户为他人
intent.putExtra(HandoverActivity.ASSET_HANDOVER_TYPE, HandoverActivity.ASSET_HANDOVER_TYPE_OTHER);
}
} else {
intent.putExtra(HandoverActivity.ASSET_HANDOVER_TYPE, HandoverActivity.ASSET_HANDOVER_TYPE_OTHER);
}
startActivity(intent);
}
/**
* 显示操作状态
*
* @param isSuccess 是否操作成功
*/
private void showOperateResult(boolean isSuccess, String msg) {
if (mOperateDialog != null) {
mOperateDialog.dismiss();
}
if (isSuccess) {
ToastUtil.showToast(this, R.string.operate_success);
setResult(RESULT_OK);
finish();
} else {
ToastUtil.showToast(this, TextUtils.isEmpty(msg) ? getString(R.string.operate_failed) : msg);
}
}
/**
* 删除设备
*/
private void deleteAsset() {
if (mOperateDialog == null) {
mOperateDialog = new OperateDialog(this);
}
mOperateDialog.show();
mOperateDialog.setTitle(getString(R.string.delete_asset_title));
mOperateDialog.setMessage(getString(R.string.delete_asset_msg));
mOperateDialog.setNegativeButton(getString(R.string.cancel), null);
mOperateDialog.setPositiveButton(getString(R.string.confirm), new OperateDialog.OperateDialogListener() {
@Override
public void onClick(View view) {
mPresenter.deleteAsset(mAssetInfo.getAssetId());
}
});
}
/**
* 入库设备
*/
private void storeAsset() {
if (mOperateDialog == null) {
mOperateDialog = new OperateDialog(this);
}
mOperateDialog.show();
mOperateDialog.setTitle(getString(R.string.store_asset_title));
mOperateDialog.setMessage(getString(R.string.store_asset_msg));
mOperateDialog.setNegativeButton(getString(R.string.cancel), null);
mOperateDialog.setPositiveButton(getString(R.string.confirm), new OperateDialog.OperateDialogListener() {
@Override
public void onClick(View view) {
mPresenter.storeAsset(mAssetInfo.getAssetId());
}
});
}
/**
* 更新设备信息
*/
private void updateAsset() {
Intent intent = new Intent(this, AddAssetActivity.class);
intent.putExtra(AddAssetActivity.EXTRA_ASSET_INFO, mAssetInfo);
intent.putExtra(AddAssetActivity.EXTRA_IS_UPDATE_ASSET, true);
startActivityForResult(intent, REQUEST_CODE_UPDATE_ASSET);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_UPDATE_ASSET && resultCode == RESULT_OK) {
setResult(RESULT_OK);
finish();
}
}
@Override
public void showLoading() {
if (mProgressDialog == null) {
mProgressDialog = new ProgressDialog(this);
mProgressDialog.setMessage(getString(R.string.loading));
mProgressDialog.setCanceledOnTouchOutside(false);
}
mProgressDialog.show();
}
@Override
public void hideLoading() {
if (mProgressDialog != null) {
mProgressDialog.dismiss();
}
}
@Override
public void showError(String message) {
hideLoading();
ToastUtil.showToast(this, message);
}
@Override
public void showDeleteAssetResult(boolean isSuccess, String message) {
showOperateResult(isSuccess, message);
}
@Override
public void showStoreAssetResult(boolean isSuccess, String message) {
showOperateResult(isSuccess, message);
}
}
原文地址: https://www.cveoy.top/t/topic/llSU 著作权归作者所有。请勿转载和采集!