gpt4 book ai didi

java - 如何修复无法在未调用 Looper.prepare() 的线程内创建处理程序

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

为什么我会收到:无法在未调用 Looper.prepare() 的线程内创建处理程序错误?

public class MovieInterface extends AsyncTask<String, Void, MovieResultsPage> {
public Activity activity;

MovieInterface(Activity context) {
this.activity = context;
}

public void handleUpcomingMovies() {

}

@Override
protected MovieResultsPage doInBackground(String... strings) {
TmdbMovies movies = new TmdbApi("d2e5d02fe295efc00bad8da4dc384edf").getMovies();
MovieResultsPage upcomingMovies = movies.getUpcoming(null, 1, "IN");
int totalpages = upcomingMovies.getTotalPages();
return upcomingMovies;
}


@Override
protected void onPostExecute(final MovieResultsPage movieDbs) {
super.onPostExecute(movieDbs);

ArrayList<MovieClass> mymovielist = new ArrayList<>();
for (MovieDb movieResult : movieDbs.getResults()) {
mymovielist.add(new MovieClass(movieResult.getTitle(), movieResult.getOverview()));
}

MovieAdapter movieClassArrayAdapter = new MovieAdapter(activity, R.layout.movie_list_item, mymovielist);

((ListView) activity.findViewById(R.id.upcomingMoviesList)).setAdapter(movieClassArrayAdapter);

}

方法调用:

MovieInterface movieInterface = new MovieInterface(this) ;
movieInterface.execute() ;

正如类似问题的其他答案所建议的那样,我没有在后台方法内进行任何 UI 更新。但仍然收到错误。

我是 android 和 java 新手。我该如何解决 ?

最佳答案

new Handler(Looper.getMainLooper())

更多详细信息请参见documentation .

关于java - 如何修复无法在未调用 Looper.prepare() 的线程内创建处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51159633/

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