欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android和Activity之间的跳转方法

程序员文章站 2022-03-16 11:46:09
1.这里说到的跳转方式和平时用的有一点点的改变: 我们可以在activity所继承的类里写一个跳转的方法来供其它类使用,减少了多余代码的使用 package com.ays...

1.这里说到的跳转方式和平时用的有一点点的改变:

我们可以在activity所继承的类里写一个跳转的方法来供其它类使用,减少了多余代码的使用

package com.ayspot.apps.wuliushijie.base;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import butterknife.ButterKnife;

/**
 * Created by sgf on 2016/6/13.
 */
public abstract class BaseFragment extends Fragment {

    public Context mContext;

    // fragment创建
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if(getActivity() == null){
            mContext = MyApplication.getContext();
        }else{
            mContext = getActivity();// 所依赖的activity
        }
    }

    // 初始化布局
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = View.inflate(mContext,getLayoutId(),null);
        ButterKnife.bind(this, view);
        return view;
    }

    // 初始化布局, 必须由子类实现
    protected abstract int getLayoutId();

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        ButterKnife.unbind(this);
    }

    protected void startActivity(Class cls){
        Intent intent = new Intent(mContext,cls);
        startActivity(intent);
    }


}
下面来看看这个方法:
  protected void startActivity(Class cls){
        Intent intent = new Intent(mContext,cls);
        startActivity(intent);
    }
使用的时候直接调用即可
 startActivity(LoginActivity.class);

2.第二种和上面的也是类似的,不同的是直接在activity里写的:

 public static void StartAction(Context context) {
        Intent intent = new Intent(context, ResumeSearchResultActivity.class);
        context.startActivity(intent);
    }
然后在另一个activity里调用:
  ResumeSearchResultActivity.StartAction(context);
你还有更好的方法吗,分享一下