我有一个类文件MainActivity,我想切换到Testing.class文件。所以这是以下代码。
public static class MyFragment extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.xyz, container, false);
final TextView tt=(TextView) rootView.findViewById(R.id.txt);
Button button=(Button) rootView.findViewById(R.id.btn1);
View.OnClickListener sx = new OnClickListener()
{
public void onClick(View v)
{
call();
}
};
button.setOnClickListener(sx);
return rootView;
}
private void call()
{
// Here getting the Error //
Intent intent = new Intent(MainActivity.this, Testing.class);
startActivity(intent);
}
}
所以,这是上面的代码,我想切换到名为测试的新类文件,但
我正面临一个错误 - :在范围内无法访问MainActivity类型的封闭实例
我认为在MainActivity中创建一个名为MyFragment的新静态类会产生问题。
所以,请帮帮我,给我一些好的解决方案。
答案 0 :(得分:1)
好的,所以你不能调用MainActivity.this,因为你在片段类中。您必须以不同的方式访问上下文。如
getActivity()
返回与片段关联的活动。活动是一个上下文(自活动扩展上下文)
答案 1 :(得分:0)
您可以在片段中使用getActivity()
方法,但在获取onActivityCreated()
方法