gpt4 book ai didi

android - 在 Fragment Android 中的 Runnable 中使用 "this"

转载 作者:行者123 更新时间:2023-11-29 14:39:09 24 4
gpt4 key购买 nike

在我的 onResume() 中,我正在运行一个新的处理程序,它运行以下代码行:

adapter = new FeedListAdapter(this, feed);
list.setAdapter(adapter);

现在,当我将此代码移动到处理程序中时,第一行中的 this 变得不允许,因为显然它在一个可运行的内部,如下所示:

new Handler().postDelayed(new Runnable() { 
public void run() {
adapter = new FeedListAdapter(this, feed);
list.setAdapter(adapter);
}
}, 500);

现在,我的问题是如何访问我所在的 fragment ,而不必创建存储当前 fragment 的方法/变量?

我通过执行以下操作解决了这个问题:

private FeedListActivity myInstance(){
return this;
}

并将 this 更改为 myInstance(),但这似乎是一种糟糕的做法。与创建一个新变量来存储 fragment 相同。有没有办法可以调用我正在运行的 fragment ?

也许这会让我清楚地知道我想做什么:

new Handler().postDelayed(new Runnable() { 
public void run() {
adapter = new FeedListAdapter(getFragment(), feed);
list.setAdapter(adapter);
}
}, 500);

感谢所有回答。

最佳答案

你使用一个内部类,它隐含地引用了外部类。您可以在内部类中使用语法:FeedListActivity.this

关于android - 在 Fragment Android 中的 Runnable 中使用 "this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18139302/

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