android: 在Fragment中使用setAdapter调用时出错Activity

android: Error when use setAdapter in Fragment to call Activity

我正在做的应用程序从数据库中获取数据并显示在 Listview 中

并且必须所有 类 都是片段,这样我才能把它放在标签中

错误是:

  this.getlistdata.setAdapter(new GetAllSongs(jsonArray,this));

正是...(jsonArray,this)

完整代码。

public class GetListData extends Fragment
{
    ListView getlistdata;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        this.getActivity().setContentView(R.layout.activity_main2);

        this.getlistdata =  (ListView)this.getActivity().findViewById(R.id.listgetdata);

        new GetAllCustomerTask().execute(new ApiConnector());
    }

    public  void setListAdapter (JSONArray jsonArray)
    {
        this.getlistdata.setAdapter(new GetAllSongs(jsonArray,this));
    }

    private class GetAllCustomerTask extends AsyncTask<ApiConnector,Long,JSONArray>
    {
        @Override
        protected JSONArray doInBackground(ApiConnector... params)
        {
            return params[0].GetAllCustomers();
        }

        @Override
        protected void onPostExecute(JSONArray jsonArray)
        {
            setListAdapter(jsonArray);
        }
    }

错误是::

can't cast Fragment To Activity

我该如何解决?

GetAllSongs() 期望 Activity 作为第二个参数,但您传递的是 Fragment.

以下语句应消除异常:

this.getlistdata.setAdapter(new GetAllSongs(jsonArray, getActivity()))