Java tutorial
// // _/_/_/ _/ _/_/_/_/_/ // _/ _/_/ _/_/ _/ _/ _/ _/_/ _/_/ // _/ _/_/ _/_/_/_/ _/_/_/_/ _/_/ _/ _/ _/ _/ _/ // _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ // _/_/_/ _/_/_/ _/_/_/ _/ _/ _/_/_/_/_/ _/_/ _/_/ // // // Copyright (c) 2015-2016, Geek Zoo Studio // http://www.geek-zoo.com // // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), // to deal in the Software without restriction, including without limitation // the rights to use, copy, modify, merge, publish, distribute, sublicense, // and/or sell copies of the Software, and to permit persons to whom the // Software is furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS // IN THE SOFTWARE. // package com.insthub.O2OMobile.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.AbsListView; import android.widget.AdapterView; import android.widget.ImageView; import android.widget.TextView; import com.BeeFramework.Utils.ImageUtil; import com.BeeFramework.activity.BaseActivity; import com.BeeFramework.model.BusinessResponse; import com.external.androidquery.callback.AjaxStatus; import com.external.maxwin.view.IXListViewListener; import com.external.maxwin.view.XListView; import com.insthub.O2OMobile.Adapter.C14_MyServiceAdapter; import com.insthub.O2OMobile.Model.UserBalanceModel; import com.insthub.O2OMobile.Protocol.ApiInterface; import com.insthub.O2OMobile.Protocol.MY_SERVICE; import com.insthub.O2OMobile.R; import com.insthub.O2OMobile.SESSION; import org.json.JSONException; import org.json.JSONObject; public class C14_MyServiceActivity extends BaseActivity implements BusinessResponse, View.OnClickListener, IXListViewListener { private TextView mTitle; private ImageView mBack; private UserBalanceModel mUserBalanceModel; private XListView mMyServiceListView; private C14_MyServiceAdapter mF4ServiceListAdapter; private TextView mEmptyView; private ImageView mE0EmptyView; private static final int REQUEST_MODIFY_SERVICE = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.c14_my_service); mTitle = (TextView) findViewById(R.id.top_view_title); mTitle.setText(getString(R.string.my_service)); mBack = (ImageView) findViewById(R.id.top_view_back); mEmptyView = (TextView) findViewById(R.id.empty_view); mBack.setOnClickListener(this); mE0EmptyView = (ImageView) findViewById(R.id.e0_empty_view); mE0EmptyView.setOnClickListener(this); mMyServiceListView = (XListView) findViewById(R.id.my_service_listView); mMyServiceListView.setXListViewListener(this, 0); mMyServiceListView.setPullLoadEnable(true); mMyServiceListView.setRefreshTime(); mUserBalanceModel = new UserBalanceModel(this); mUserBalanceModel.addResponseListener(this); mUserBalanceModel.getServiceList(SESSION.getInstance().uid); mMyServiceListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { MY_SERVICE my_service = mUserBalanceModel.publicMyServiceList.get(position - 1); Intent intent = new Intent(C14_MyServiceActivity.this, C15_EditPriceActivity.class); intent.putExtra(C15_EditPriceActivity.SERVICE, my_service); startActivityForResult(intent, REQUEST_MODIFY_SERVICE); } }); } @Override public void OnMessageResponse(String url, JSONObject jo, AjaxStatus status) throws JSONException { if (url.endsWith(ApiInterface.MYSERVICE_LIST)) { mMyServiceListView.stopRefresh(); mMyServiceListView.stopLoadMore(); if (jo == null) { mE0EmptyView.setVisibility(View.VISIBLE); } else { mE0EmptyView.setVisibility(View.GONE); setAdapterCont(); if (mUserBalanceModel.publicMore == 0) { mMyServiceListView.setPullLoadEnable(false); } else { mMyServiceListView.setPullLoadEnable(true); } if (mUserBalanceModel.publicMyServiceList.size() == 0) { mEmptyView.setVisibility(View.VISIBLE); mMyServiceListView.setVisibility(View.GONE); } else { mEmptyView.setVisibility(View.GONE); mMyServiceListView.setVisibility(View.VISIBLE); } } } } private void setAdapterCont() { if (mF4ServiceListAdapter == null) { mF4ServiceListAdapter = new C14_MyServiceAdapter(this, mUserBalanceModel.publicMyServiceList); mMyServiceListView.setAdapter(mF4ServiceListAdapter); } else { mF4ServiceListAdapter.publicList = mUserBalanceModel.publicMyServiceList; mF4ServiceListAdapter.notifyDataSetChanged(); } if (mUserBalanceModel.publicMore == 1) { View foot = new View(this); foot.setLayoutParams( new AbsListView.LayoutParams(mMyServiceListView.getMeasuredWidth(), ImageUtil.Dp2Px(this, 48))); mMyServiceListView.addFooterView(foot); } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.top_view_back: finish(); break; //Todo case R.id.e0_empty_view: mUserBalanceModel.getServiceList(SESSION.getInstance().uid); break; } } @Override public void onRefresh(int id) { mUserBalanceModel.getServiceList(SESSION.getInstance().uid); } @Override public void onLoadMore(int id) { mUserBalanceModel.getServiceListMore(SESSION.getInstance().uid); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_MODIFY_SERVICE) { if (data != null) { mUserBalanceModel.getServiceList(SESSION.getInstance().uid); } } super.onActivityResult(requestCode, resultCode, data); } }