簡體   English   中英

如何從非活動類開始新的活動

[英]How do I start a new Activity from non Activity class

我知道這個論壇中已經存在這個問題,但是我建立的每個解決方案都行不通。 我想從非活動類開始活動。 非活動類是導航抽屜的DetailFragment.java

DetaiFragment:

package com.developing.konstantin.besmart;

import android.annotation.TargetApi;
import android.app.Fragment;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class DetailFragment extends Fragment {

FrameLayout fLayout;

View view;

public DetailFragment() {
}

@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle args) {
    view = inflater.inflate(R.layout.menu_detail_fragment, container, false);
    String menu = getArguments().getString("Menu");

    switch (menu) {
        case ("Home"): {
            fLayout = (FrameLayout) view.findViewById(R.id.home) ;
            fLayout.setVisibility(View.VISIBLE);
            break;
        }

        case ("Info"): {
            fLayout = (FrameLayout) view.findViewById(R.id.info) ;
            fLayout.setVisibility(View.VISIBLE);
            break;
        }

        case ("Video"): {
            break;
        }
    }

    return view;
}
}

我想在第3種情況下啟動“活動”(“視頻”)。 我怎樣才能做到這一點?

您可以使用context

inflater.getContext()

如:

startActivity(new Intent(inflater.getContext(), Video.class));

或者您可以使用getActivity()方法,例如:

startActivity(new Intent(getActivity(), Video.class));

這取決於您從何處調用活動。

最好創建一個實例

Context context;  

然后像這樣初始化

context = AnyActivity.this; // if you are calling from Activity

context = getActivity(); // if you are using Fragments

並稱它為

Intent intent = new Intent(context,ActivityToOpen.class);

startActivity(intent);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM