class viewticket extends AsyncTask<String, Void, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pdialog = new ProgressDialog(UserLogedIn.this);
pdialog.setMessage("Loading....");
pdialog.setIndeterminate(false);
pdialog.setCancelable(false);
pdialog.show();
}
@Override
protected String doInBackground(String... params) {
List<NameValuePair> param = new ArrayList<NameValuePair>();
param.add(new BasicNameValuePair("userid", u_id));
ServiceHandler sh = new ServiceHandler();
// Making a request to url and getting response
String jsonStr = sh.makeServiceCall(URLMyTicket, ServiceHandler.POST, param);
Log.d("Response: ", "> " + jsonStr);
if (jsonStr != null)
{
try {
contacts = new JSONArray(jsonStr);
int a=contacts.length();
Log.v(TAG,""+a);
String[] id = new String[contacts.length()];
String[] prob = new String[contacts.length()];
String[] desc = new String[contacts.length()];
for (int i = 0; i < contacts.length(); i++) {
JSONObject c = contacts.getJSONObject(i);
String aa = c.getString(TAG_ID);
String bb = c.getString(TAG_PROB);
String cc = c.getString(TAG_DESC);
Log.v(TAG, "TAG_ID" + aa);
Log.v(TAG,"TAGPROB"+bb);
Log.v(TAG,"TAGDESC"+cc);
id[i] = aa;
prob[i]=bb;
desc[i]=cc;
Log.v(TAG, "aaaaa" + id[i]);
Log.v(TAG,"bbbbb"+prob[i]);
Log.v(TAG,"ccc"+desc[i]);
Ticket_adapter adapter=new Ticket_adapter(this,id,prob,desc);
lv.setAdapter(adapter);
}
} catch (JSONException e) {
System.out.print("hiiiiiiiiiiii" );
e.printStackTrace();
}
}
if(jsonStr==null)
{
// Toast.makeText(UserLogedIn.this, "hiiiiiiiiiiiiiiiiiiiii", Toast.LENGTH_SHORT).show();
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
// Dismiss the progress dialog
pdialog.hide();
pdialog.dismiss();
}
}
public class Ticket_adapter extends ArrayAdapter<String> {
UserLogedIn.viewticket context;
String[] id;
String[] prob;
String[] desc;
public Ticket_adapter(UserLogedIn.viewticket context, String[] id,String[] prob,String[] desc) {
super(context, R.id.list_item,id);//error cannot resolve method super
this.context=context;
this.id=id;
this.prob=prob;
this.desc=desc;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater=context.getLayoutInflater();
View rowView=inflater.inflate(R.layout.my_list, null, true);
TextView idtxt=(TextView)convertView.findViewById(R.id.uid);
TextView probtxt=(TextView)convertView.findViewById(R.id.prob);
TextView desctxt=(TextView)convertView.findViewById(R.id.ticket);
idtxt.setText(id[position]);
probtxt.setText(prob[position]);
desctxt.setText(desc[position]);
return convertView;
}
}
错误:
错误:(21,9)错误:找不到适合ArrayAdapter(UserLogedIn.ViewTicket,int,String[])的构造函数ArrayAdapter.ArrayAdapter(Context,int,int)不适用(参数不匹配;UserLogedIn.ViewTicket无法转换为上下文)构造函数ArrayAdapter.ArrayAdapter(Context,int,String[])不适用(参数不匹配;UserLogedIn.ViewTicket无法转换为上下文)构造函数ArrayAdapter.ArrayAdapter(Context,int,String[])
1)需要在for
循环之外创建适配器。
2)如果要在自定义适配器构造函数中调用super()
,则需要传递一个上下文,而不是名为Context的对象。
因为从错误来看,userlogedin.viewticket
不是上下文
。
主要内容:创建自定义适配器,注册自定义适配器,使用适配器Gson使用其内置适配器执行对象的序列化/反序列化。 它也支持自定义适配器。 让我们来讨论如何创建一个自定义适配器以及如何使用它。 创建自定义适配器 通过扩展类并传递目标类型的对象来创建自定义适配器。 重写读写方法分别执行自定义的反序列化和序列化。 注册自定义适配器 使用注册自定义适配器并使用创建一个Gson实例。参考以下实现代码 - 使用适配器 Gson现在将使用自定义适配器将Json文本转换为
Gson使用其内置适配器执行对象的序列化/反序列化。 它还支持自定义适配器。 我们将讨论如何创建自定义适配器以及如何使用它。 创建自定义适配器 通过扩展TypeAdapter类并将其传递给目标对象的类型来创建自定义适配器。 重写read和write方法以分别执行自定义反序列化和序列化。 class StudentAdapter extends TypeAdapter<Student> {
我使用一个API,它以数组的形式返回数据,比如这个JSON字符串(我们称之为“任务”) 我想将这个响应解析为一个列表。所以我已经用生成的适配器创建了相应的数据类 我的改装服务是这样的 但我想使用容器类型,例如: 作为网络响应结果。这可能不创建自定义adpter或者我将需要创建一个自定义适配器并将其传递给moshi构建器吗?
英文原文:http://emberjs.com/guides/models/customizing-adapters/ 在Ember Data中,处理与后台数据仓库通信的逻辑是通过Adapter来完成的。Ember Data适配器内置了一些关于REST API的假定。如果后台的实现与Ember Data假定的惯例不同,那么通过扩展缺省的适配器可能很容易的实现。 有时因为一些原因需要自定义适配器,例
Ember.js适配器指定如何在后端数据存储中保存数据,例如URL格式和REST API标头。 默认的Ember适配器包含一些REST API的内置假设。 这些假设有助于更轻松,更好地构建Web应用程序。 可以使用以下命令创建适配器 - ember generate adapter adapter-name 运行上面的命令时,它将显示以下行 - import DS from 'ember-dat
问题内容: 下面的示例显示了一个类(Club),其中包含抽象类(成员)的集合。我对于是否需要TypeAdapter或JsonDeserializer才能使反序列化正常工作感到困惑。序列化在没有任何帮助的情况下就可以正常工作,但是反序列化会引发异常。为了说明这一点,我构建了以下“克隆”测试。如果有人能展示一个有效的例子,我将不胜感激。 头等舱 现在是抽象基类成员 以及成员的两个具体子类(金和银)