import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.ViewModelProvider;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.widget.ViewPager2;
import com.ic.iclooger.ICLogger;
import com.ic.sport.adapter.FragmentAdapter;
-import com.ic.sport.adapter.IndicatorAdapter;
import com.ic.sport.fragment.pedometer.PedMainFragment;
import com.ic.sport.fragment.pedometer.PedRecordFragment;
import com.ic.sport.fragment.pedometer.PedSetupDialogFragment;
private static final String TAG = "PedometerActivity";
private PedometerModel pedometerModel;
- private IndicatorAdapter indicatorAdapter;
private FragmentAdapter myAdapter;
private TextView topTimeTv;
setContentView(R.layout.activity_pedometer);
initView();
initViewPage();
- initIndicator();
initPedometerModel();
}
pedometerModel = new ViewModelProvider(this, factory).get(PedometerModel.class);
pedometerModel.getObsPedCount().observe(this, integer -> {
- ((PedMainFragment) myAdapter.getFragment(1)).updatePedNumber(integer);
- });
-
- pedometerModel.getObsPedRecord().observe(this, record -> {
- PedRecordFragment fragment = (PedRecordFragment) myAdapter.getFragment(2);
- if (fragment != null) {
- fragment.updatePedRecord(record);
- }
+ ((PedMainFragment) myAdapter.getFragment(0)).updatePedNumber(integer);
});
pedometerModel.getCalorie().observe(this, calorie -> {
- ((PedMainFragment) myAdapter.getFragment(1)).updateCalorie(calorie);
+ ((PedMainFragment) myAdapter.getFragment(0)).updateCalorie(calorie);
});
pedometerModel.timeValue.observe(this, time -> {
private void initViewPage() {
myAdapter = new FragmentAdapter(getSupportFragmentManager(), getLifecycle());
myViewPager2.setAdapter(myAdapter);
- myViewPager2.postDelayed(() -> {
- myViewPager2.setCurrentItem(1);
- }, 500);
myViewPager2.registerOnPageChangeCallback(currentItemUpdater);
}
-
- private void initIndicator() {
- RecyclerView indicatorRv = findViewById(R.id.ped_indicator_rv);
- indicatorAdapter = new IndicatorAdapter();
- LinearLayoutManager mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
- indicatorRv.setLayoutManager(mLayoutManager);
- indicatorRv.setAdapter(indicatorAdapter);
- }
-
private final ViewPager2.OnPageChangeCallback currentItemUpdater = new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
IcLog.i(TAG, "onPageSelected" + position);
- indicatorAdapter.updateIndicatorState(position);
//设置title
- String title = getString(R.string.ped_head_name);
- if (position == 1) {
- //运动
- title = getString(R.string.app_name);
- } else if (position == 2) {
- //记录
- title = getString(R.string.pedometer_history_7days);
- }
+ String title = getString(R.string.app_name);
topTitleTv.setText(title);
}
import androidx.viewpager2.adapter.FragmentStateAdapter;
import com.ic.sport.fragment.pedometer.PedMainFragment;
-import com.ic.sport.fragment.pedometer.PedSetupFragment;
import java.util.ArrayList;
import java.util.List;
public FragmentAdapter(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle) {
super(fragmentManager, lifecycle);
- arrayList.add(PedSetupFragment.newInstance());
+ //arrayList.add(PedSetupFragment.newInstance());
arrayList.add(PedMainFragment.newInstance());
//李峰军的不需要显示记录,这是个独立的分支,放心修改
//arrayList.add(PedRecordFragment.newInstance());