gpt4 book ai didi

android - 从 fragment 中获取适配器中的 Activity 上下文

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:28 24 4
gpt4 key购买 nike

我有一个带有 ListViewFragment。我想在适配器中创建一个对话框。

class ViewHolder {
...
@Override
public void onClick(View v) {
...
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
...
}
...
}

mContext 是我的 Fragment 中的 Context,我在创建适配器时将其保存为全局。我收到错误。

无法添加窗口 -- token null 不适用于应用程序

getActivity() 方法不可用,那么如何获取我的ActivityContext

最佳答案

如果您有自定义适配器,请将构造函数更改为需要 Context 作为参数。

public CustomAdapter(Context context, List<Item> items) {   
}

然后,通过构造函数创建一个实例变量来存储上下文。

private Context mContext; //instance variable

public CustomAdapter(Context context, List<Item> items) {
//some code
this.mContext= context;
}

现在您可以在适配器的任何位置使用变量 mContext

要创建适配器,如果从 Activity 创建,只需传递“this”,如果从 fragment 创建,则传递 getActivity()

mAdapter = new CustomAdapter(this, mArrayItems);

希望对您有所帮助。

关于android - 从 fragment 中获取适配器中的 Activity 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16897854/

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