我有一个基于Navigation Drawer的应用程序,一个Home Class extends AppCompatActivity
,在其中可以在Navigation Drawer的不同选项卡和表示“ HOME”选项卡的HomeFragment之间切换。
另一方面,我使用以Context为参数的构造函数制作了“ ReadRSS”类。
我想实例化HomeFragment中的“ ReadRSS”类,如果我使用keywrod,则会出现错误消息:
ReadRSS (android.content.Context) in ReadRSS cannot be applied
to (com.example.essat.essat.HomeFragment)
如果我尝试通过
getAcitivty()
或getContext()
我会收到一条错误消息:unreachable statement
这是我的代码以获取更多详细信息:
public class ReadRSS extends AsyncTask<Void,Void,Void> {
Context context;
ProgressDialog progressDialog;
public ReadRSS (Context context){
this.context=context;
progressDialog = new ProgressDialog(context);
progressDialog.setMessage("Loading ...");
}
// Other Methods ...
}
HomeFragment:
public class HomeFragment extends Fragment {
public HomeFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_home, container, false);
ReadRSS readRSS = new ReadRSS(// I Pass them all Here );
readRSS.execute();
}
}
在“我的家庭课堂”中,我使用以下代码调用“片段”:
fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.Home_Container,new HomeFragment());
fragmentTransaction.commit();
并在带有其他选项卡的Switch语句中再次使用它,以便在应用程序启动时显示主页片段,如果您更改了选项卡,则可以使用“ HOME”选项卡返回。
希望您能帮助我解决此错误或提出其他解决方法。
提前致谢 。
最佳答案
哦,当然-那是因为在ReadRSS初始化之前您已经具有return语句。
将订单更改为:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
ReadRSS readRSS = new ReadRSS(// I Pass them all Here );
readRSS.execute();
return inflater.inflate(R.layout.fragment_home, container, false);
}
没关系。