gpt4 book ai didi

java - 传递 fragment 的上下文

转载 作者:行者123 更新时间:2023-12-02 03:24:58 24 4
gpt4 key购买 nike

我有一个基于抽屉导航的应用程序,一个Home类扩展了AppCompatActivity,其中我在抽屉导航的不同选项卡和代表“HOME”选项卡的HomeFragment之间切换。另一方面,我创建了一个“ReadRSS”类,其构造函数以 Context 作为参数。我想在我的 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 ...
}

主页 fragment :

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();

}

}

在我的家庭类(class)中,我使用以下代码调用 fragment :

fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.Home_Container,new HomeFragment());
fragmentTransaction.commit();

并在 Switch 语句中与其他选项卡再次重用它,这样当应用程序启动时它会显示主页 fragment ,如果您更改了选项卡,您可以使用“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);
}

那就没问题了。

关于java - 传递 fragment 的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39074988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com