package com.lechange.demo.ui;
|
|
import android.app.Activity;
|
import android.content.Intent;
|
import android.os.Bundle;
|
import android.support.annotation.Nullable;
|
import android.support.v4.app.Fragment;
|
import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentTransaction;
|
import android.support.v7.app.AppCompatActivity;
|
import android.view.View;
|
import android.widget.LinearLayout;
|
import android.widget.TextView;
|
|
import com.common.openapi.MethodConst;
|
import com.lechange.demo.R;
|
|
public class DeviceRecordListActivity extends AppCompatActivity implements View.OnClickListener {
|
|
private static final String TAG = DeviceRecordListActivity.class.getSimpleName();
|
private TextView tvCloudRecord;
|
private TextView tvLocalRecord;
|
private Bundle bundle;
|
private DeviceCloudRecordListFragment deviceCloudRecordListFragment = DeviceCloudRecordListFragment.newInstance();
|
private DeviceLocalRecordListFragment deviceLocalRecordListFragment = DeviceLocalRecordListFragment.newInstance();
|
private FragmentManager supportFragmentManager;
|
private Fragment currentFragment;
|
public LinearLayout llEdit;
|
public LinearLayout llAll;
|
public LinearLayout llBack;
|
public TextView tvEdit;
|
private int recordType;
|
|
@Override
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_device_record_list);
|
supportFragmentManager = getSupportFragmentManager();
|
initView();
|
initData();
|
}
|
|
private void initData() {
|
bundle = getIntent().getExtras();
|
recordType = bundle.getInt(MethodConst.ParamConst.recordType);
|
if (recordType == MethodConst.ParamConst.recordTypeCloud ? showFragment(deviceCloudRecordListFragment) : showFragment(deviceLocalRecordListFragment)) {
|
tvCloudRecord.setSelected(recordType == MethodConst.ParamConst.recordTypeCloud);
|
tvLocalRecord.setSelected(recordType == MethodConst.ParamConst.recordTypeLocal);
|
}
|
}
|
|
private void initView() {
|
findViewById(R.id.ll_back).setOnClickListener(this);
|
llBack = findViewById(R.id.ll_back);
|
llEdit = findViewById(R.id.ll_edit);
|
llAll = findViewById(R.id.ll_all);
|
tvEdit = findViewById(R.id.tv_edit);
|
tvCloudRecord = findViewById(R.id.tv_cloud_record);
|
tvLocalRecord = findViewById(R.id.tv_local_record);
|
tvCloudRecord.setOnClickListener(this);
|
tvLocalRecord.setOnClickListener(this);
|
}
|
|
@Override
|
public void onClick(View v) {
|
int id = v.getId();
|
if (id == R.id.ll_back) {
|
finish();
|
} else if (id == R.id.tv_cloud_record) {
|
if (showFragment(deviceCloudRecordListFragment)) {
|
tvCloudRecord.setSelected(true);
|
tvLocalRecord.setSelected(false);
|
}
|
} else if (id == R.id.tv_local_record) {
|
if (showFragment(deviceLocalRecordListFragment)) {
|
tvCloudRecord.setSelected(false);
|
tvLocalRecord.setSelected(true);
|
}
|
}
|
}
|
|
private boolean showFragment(Fragment fragment) {
|
if (currentFragment != fragment) {
|
FragmentTransaction transaction = supportFragmentManager.beginTransaction();
|
if (currentFragment != null) {
|
transaction.hide(currentFragment);
|
}
|
currentFragment = fragment;
|
fragment.setArguments(bundle);
|
if (!fragment.isAdded()) {
|
transaction.add(R.id.fr_content, fragment).show(fragment).commit();
|
} else {
|
transaction.show(fragment).commit();
|
}
|
return true;
|
}
|
return false;
|
}
|
|
@Override
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
super.onActivityResult(requestCode, resultCode, data);
|
if (resultCode == Activity.RESULT_OK && data != null) {
|
boolean delete = data.getBooleanExtra("data", false);
|
if (delete && deviceCloudRecordListFragment != null) {
|
deviceCloudRecordListFragment.deleteCloudRecord();
|
}
|
}
|
}
|
}
|