使用Context时不兼容的类型

时间:2018-02-05 15:00:09

标签: java android database database-connection android-context

我以前用它来从数据库下载数据。现在我试图在选项卡式Activity中使用相同的片段,但它在Context处显示错误。我尝试了很多,但我找不到任何解决方案,希望有人能帮助我。这是错误发生的屏幕截图:

error occuring

片段

Property 'aliveValues' does not exist on type '{ alive: any[]; destroyed: any[]; }

下载

package com.custardpine.v_guide.movie;

import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

import com.custardpine.v_guide.R;

public class Trending extends Fragment{

final String url = "http://192.168.43.51/proj/trending.php";
ListView lv;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_movie_trending, container, false);
    lv = (ListView) rootView.findViewById(R.id.mves_list);
    DownloaderMovies d= new DownloaderMovies(Trending.this,url,lv);
    d.execute();
    return rootView;
}
}

1 个答案:

答案 0 :(得分:0)

您收到此错误是因为(与Activity不同)Fragment不是Context。但是在您的片段中,您可以使用getContext()来获取所需的上下文。 而不是

DownloaderMovies d= new DownloaderMovies(Trending.this,url,lv);

你必须使用

DownloaderMovies d= new DownloaderMovies(getContext(),url,lv);

并将DownloaderMovies的构造函数更改为

public DownloaderMovies(Context c, String url, ListView lv) {
    // ...
}