[英]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.