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()))
我正在做的应用程序从数据库中获取数据并显示在 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()))