wxr
2022-11-17 dc8cb616469c080deaa192b9379fd59be2187f36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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();
            }
        }
    }
}