【达内课程】酷跑项目:完全退出

1、酷跑项目:崩溃自动重启功能
2、酷跑项目:首页跳转+底部菜单联动
3、酷跑项目:百度地图获取定位
4、酷跑项目:模拟路线和显示数据

完全退出

在这里插入图片描述
首先写一个父类BaseActivity

public class BaseActivity extends FragmentActivity {
    //把共同功能放在父类
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //把当前activity放进ActivityList中
        MyApplication application = (MyApplication) getApplication();
        //this指的是调用这个方法的当前对象
        application.activities.add(this);
    }

    @Override
    protected void onDestroy() {
        MyApplication application = (MyApplication)getApplication();
        application.activities.remove(this);
        super.onDestroy();
    }
}

MainActivity改为继承BaseActivity

public class MainActivity extends BaseActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //停2s跳转MainFragmentActivity
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            //2s后执行
            @Override
            public void run() {
                startActivity(new Intent(MainActivity.this, MainFragmentActivity.class));
            }
        },2000);

    }
}

MainFragmentActivity同样继承自BaseActivity

public class MainFragmentActivity extends BaseActivity {
	......
}

MeFragment对应的布局是fragment_me

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="52dp"
        android:background="@color/title_bg_green">

        <TextView
            android:id="@+id/textView1"
            style="@style/title_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text="我的" />

    </RelativeLayout>

    <LinearLayout
        android:id="@+id/ll"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="@dimen/margin_middle">

        <Button
            android:id="@+id/btn_me_update"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/title_button"
            android:text="检查更新" />

        <Button
            android:id="@+id/btn_me_recommend"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/margin_middle"
            android:background="@drawable/title_button"
            android:text="推荐" />

        <Button
            android:id="@+id/btn_me_exit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/margin_middle"
            android:background="@drawable/title_button"
            android:text="退出" />
    </LinearLayout>

</LinearLayout>

其中title_text是style文件中的一个样式

    <style name="title_text">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textSize">@dimen/title_text_size</item>
    </style>

其中title_button是一张.9图
在这里插入图片描述

MeFragment

public class MeFragment extends Fragment {
    Button extButton;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_me,null);
        initView(view);
        setListener();
        return view;
    }

    private void setListener() {
        MyListener listener = new MyListener();
        extButton.setOnClickListener(listener);
    }

    private void initView(View view) {
        extButton = view.findViewById(R.id.btn_me_exit);
    }

    class MyListener implements View.OnClickListener{
        @Override
        public void onClick(View view) {
            MainFragmentActivity activity = (MainFragmentActivity)getActivity();
            MyApplication application = (MyApplication)activity.getApplication();
            application.finish();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值