我有一个基于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);
}


没关系。

10-07 16:23