0
public class HomeFragment extends Fragment implements View.OnClickListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_sample, container, false);
new OrderData().execute();
return view;
}
class OrderData extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
try {
String Response = JSONfunctions.getJSONfromURL(Constant.OrderUL + "2");
JSONObject _jobjec = new JSONObject(Response);
OrderModel _orderModel = new OrderModel();
_orderModel.setJobID(_jobjec.getString("JobID"));
_orderModel.setCustomerName(_jobjec.getString("CustomerName"));
_orderModel.setCustomerAddressName(_jobjec.getString("CustomerAddressName"));
_orderModel.setCustomerPhoneNumber(_jobjec.getString("CustomerPhoneNumber"));
_orderModel.setCustomerHouseNumber(_jobjec.getString("CustomerHouseNumber"));
_orderModel.setCustomerArea(_jobjec.getString("CustomerArea"));
_orderModel.setCustomerLandmark(_jobjec.getString("CustomerLandmark"));
_orderModel.setCustomerCity(_jobjec.getString("CustomerCity"));
_orderModel.setServiceType(_jobjec.getString("ServiceType"));
_orderModel.setQuantity(_jobjec.getString("Quantity"));
_orderModel.setPayementMethod(_jobjec.getString("PayementMethod"));
_orderModel.setJobAmount(_jobjec.getString("JobAmount"));
_orderModel.setJobStatus(_jobjec.getString("JobStatus"));
// JobStatus =_jobjec.getString("JobStatus");
orderList.add(_orderModel);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
order_listview.setAdapter(_adapter);
_adapter = new ListViewAdapter(getActivity(), R.layout.listitem, orderList);
order_listview.setAdapter(_adapter);
}
}
にリストビューの項目をクリック上のアクティビティをリロードする方法を、これは私のアダプタである:私は、各項目のアダプタで機能をクリックしonItem適用しているアンドロイド
public class ListViewAdapter extends ArrayAdapter<OrderModel> {
// Declare Variables
Context mcontext;
LayoutInflater inflater;
List<OrderModel> datamodel;
public ListViewAdapter(Context context, int resourceId,
List<OrderModel> worldpopulationlist) {
super(context, resourceId, worldpopulationlist);
this.mcontext = context;
this.datamodel = worldpopulationlist;
inflater = LayoutInflater.from(context);
}
private class ViewHolder {
TextView textView1;
TextView textView2;
TextView textView3;
TextView textView4;
TextView status;
}
@Override
public int getCount() {
return super.getCount();
}
public View getView(final int position, View view, ViewGroup parent) {
final ViewHolder holder;
if (view == null) {
holder = new ViewHolder();
view = inflater.inflate(R.layout.listitem, null);
//
holder.textView1 = (TextView) view.findViewById(R.id.textView1);
holder.textView2 = (TextView) view.findViewById(R.id.textView3);
holder.textView3 = (TextView) view.findViewById(R.id.textView2);
holder.textView4 = (TextView) view.findViewById(R.id.textView17);
holder.status = (TextView) view.findViewById(R.id.aceeptimageview);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
// Capture position and set to the TextViews
holder.textView1.setText(datamodel.get(position).getJobID() + ":" + datamodel.get(position).getCustomerName());
holder.textView2.setText(datamodel.get(position).getCustomerPhoneNumber());
holder.textView3.setText(datamodel.get(position).getCustomerAddressName() + " " +
datamodel.get(position).getCustomerLandmark() + " " +
datamodel.get(position).getCustomerCity()
);
holder.textView4.setText(datamodel.get(position).getServiceType() + " " + datamodel.get(position).getJobAmount());
String Status = datamodel.get(position).getJobStatus();
if (Status.equals("Pending")) {
holder.status.setText("Accept");
holder.status.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
holder.status.setText("Started");
JSONObject _jobject = new JSONObject();
_jobject.put("JobID", datamodel.get(position).getJobID().toString());
_jobject.put("Status", "Accepted");
new StatsuBackground().execute(_jobject.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
if (Status.equals("Accepted")) {
holder.status.setText("Started");
holder.status.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(), "Started", Toast.LENGTH_LONG).show();
holder.status.setText("Closed");
try {
JSONObject _jobject = new JSONObject();
_jobject.put("JobID", datamodel.get(position).getJobID().toString());
_jobject.put("Status", "Started");
new StatsuBackground().execute(_jobject.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
if (Status.equals("Started")) {
holder.status.setText("Closed");
holder.status.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(), "Cloesd", Toast.LENGTH_LONG).show();
try {
JSONObject _jobject = new JSONObject();
_jobject.put("JobID", datamodel.get(position).getJobID().toString());
_jobject.put("Status", "Closed");
new StatsuBackground().execute(_jobject.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
return view;
}
class StatsuBackground extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... params) {
String Response = PosttoServer.getJSONfromURL(Constant.StatusUrl, params[0]);
return null;
}
}
}
。私が特定のアイテムをクリックしたときに必要なことは、私の活動がサーバーから更新された値を取得できるように、再読み込みしてapiを再度押す必要があることです。私はこれを適用して更新することができますか?私もnotfydatasetchangeを試みたが、うまく動かなかった。
mcontext.finishを試してください)。エラー –
エラーを表示します。 –
((Activity)コンテキスト).finish()これを試してください –