package com.linju.android_property.servicemanager; import java.util.ArrayList; import roboguice.inject.InjectView; import android.content.Context; import android.content.Intent; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.view.animation.AnimationUtils; import android.widget.AdapterView; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.Button; import android.widget.LinearLayout; import android.widget.PopupWindow; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.AdapterView.OnItemClickListener; import com.handmark.pulltorefresh.library.PullToRefreshListView; import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode; import com.linju.android_property.activity.LoginActivity; import com.linju.android_property.adapter.ComplaintAdapter; import com.linju.android_property.adapter.NoticeAdapter; import com.linju.android_property.application.AppApplication; import com.linju.android_property.base.BaseActivity; import com.linju.android_property.dialog.ActionSheetDialog; import com.linju.android_property.dialog.ActionSheetDialog.OnSheetItemClickListener; import com.linju.android_property.dialog.ActionSheetDialog.SheetItemColor; import com.linju.android_property.entity.ComplaintBean; import com.linju.android_property.entity.Login_Bean; import com.linju.android_property.entity.Notice_Manage_Bean; import com.linju.android_property.utils.ParseJson; import com.linju.android_property.utils.RequestURL; import com.linju.android_property.utils.StartActivityUtils; import com.linju.android_property.viewutils.WPTextView; import com.linju.android_property2.R; import com.loopj.android.http.AsyncHttpResponseHandler; import com.loopj.android.http.RequestParams; /** * 公告列表 * @author Administrator * */ public class PostList extends BaseActivity implements OnClickListener,OnItemClickListener,OnItemLongClickListener{ @InjectView(R.id.back) Button back; @InjectView(R.id.title) WPTextView titlebar; @InjectView(R.id.edit_or_add) Button editOrAdd; @InjectView(R.id.more) View more; @InjectView(R.id.app_loading) View loadinglayout; @InjectView(R.id.lists) PullToRefreshListView mListView; @InjectView(R.id.empty) RelativeLayout empey; private NoticeAdapter adapter; private ArrayList<Notice_Manage_Bean> beans; public static int limite = 15; // 每页10条 public static int offsetint = 0; // 分页标识 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ativity_post_list); back.setOnClickListener(this); titlebar.setText(getString(R.string.gonggao)); editOrAdd.setVisibility(View.VISIBLE); editOrAdd.setText(getString(R.string.add)); editOrAdd.setOnClickListener(this); TextView t = (TextView) empey.findViewById(R.id.hint); t.setText("还没有任何的公告信息!"); mListView.setEmptyView(empey); mListView.setShowIndicator(false); getListDate(); } private void getListDate(){ RequestParams params = new RequestParams(); params.put(Login_Bean.USER_SUBDISTRICTADDRESSID, LoginActivity .getUser().getSubdistrict_address_id()); params.put(Login_Bean.FROM, "2"); AppApplication.getHttpClient().get(RequestURL.GET_POST_LIST,params, new AsyncHttpResponseHandler(){ @Override @Deprecated public void onFailure(Throwable error) { super.onFailure(error); } @Override public void onFinish() { super.onFinish(); loadinglayout.setVisibility(View.GONE); } @Override public void onStart() { super.onStart(); } @Override @Deprecated public void onSuccess(String content) { parseJsonbean(content, false); } }); } private void parseJsonbean(String json, boolean isLoadMore) { if (isLoadMore == true) { } else { if (beans != null) { beans.clear(); } beans = ParseJson.get_notice_list(json); // 获取数据判断数据是否为空 if (beans != null) { adapter = new NoticeAdapter(this, beans); // 判断数据是否小于limite mListView.onRefreshComplete(); if (beans.size() < limite) { mListView.setMode(Mode.PULL_DOWN_TO_REFRESH); } else { mListView.setMode(Mode.BOTH); } } mListView.setAdapter(adapter); mListView.setOnItemClickListener(this); mListView.getRefreshableView().setOnItemLongClickListener(this); } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.back: onBackPressed(); break; case R.id.edit_or_add: startActivity(new Intent(this,PostAdd.class)); overridePendingTransition(R.anim.left_in, R.anim.left_out); break; } } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Notice_Manage_Bean bean = beans.get(position -1); Intent it = new Intent(this,PostContentActivity.class); it.putExtra(PostContentActivity.EXTRA_OBJ, bean); StartActivityUtils.startActivity(this, it); } //长按后的弹出框 class PopupWindowPic extends PopupWindow{ public PopupWindowPic(Context context , View v) { View view = View.inflate(context, R.layout.item_popupwindows, null); view.startAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_ins)); LinearLayout llLayout = (LinearLayout)view.findViewById(R.id.ll_popup); llLayout.startAnimation(AnimationUtils.loadAnimation(context, R.anim.push_bottom_in_2)); //设置宽高 setWidth(LayoutParams.FILL_PARENT); setHeight(LayoutParams.FILL_PARENT); setBackgroundDrawable(new BitmapDrawable()); setFocusable(true); setOutsideTouchable(true); //外部触摸不隐藏 setContentView(view); showAtLocation(v, Gravity.BOTTOM, 0, 0); update(); Button camera = (Button)view.findViewById(R.id.item_popupwindows_camera); Button photo = (Button)view.findViewById(R.id.item_popupwindows_Photo); Button cancel = (Button)view.findViewById(R.id.item_popupwindows_cancel); camera.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dismiss(); } }); photo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dismiss(); } }); cancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dismiss(); } }); } } @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { new PopupWindowPic(this,view); return true; } }