我试图从非活动类(简单类)中调用活动。
我创建了一个选项卡式活动。然后我为片段创建了一个布局。并创建了一个单独的类,我在其中进行一些验证并调用一个活动。但我无法从该非活动类开始该活动。
这是我遇到问题的功能
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.guarding_services_layout, container, false);
p_guard_srvc = p_guard_srvc.findViewById(R.id.guard_booknow_btn);
p_guard_srvc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//this line, i am unable to write the correct method
Intent i = new Intent( GuardingScreen.this , HomeScreen.class);
}
});
return rootView;
}
答案 0 :(得分:0)
尝试:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.guarding_services_layout, container, false);
p_guard_srvc = p_guard_srvc.findViewById(R.id.guard_booknow_btn);
p_guard_srvc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent( getActivity() , HomeScreen.class);
getActivity().startActivity(i);
}
});
return rootView;
}
答案 1 :(得分:0)
您应该将活动上下文传递给非活动类,并使用上下文开始活动。例如:您可以在Non-Activity类的构造函数中传递活动上下文,也可以为上下文创建一个setter方法。
context.startActivity(new Intent(context,YourClassName.class));