package com.dynamic;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.app.Dialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.text.Editable;
import android.text.Selection;
import android.text.Spannable;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.view.ViewTreeObserver.OnPreDrawListener;
import android.view.WindowManager;
import android.view.animation.AnimationUtils;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.HorizontalScrollView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.ScrollView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnItemClickListener {
private GridView gridview;
private GridAdapter adapter;
private TextView activity_selectimg_send;
private ImageView back;
private EditText comment_content;
private String temp;
private Button selectimg_bt_content_type, selectimg_bt_search;
private LinearLayout selectimg_relativeLayout_below;
private ScrollView activity_selectimg_scrollView;
private HorizontalScrollView selectimg_horizontalScrollView;
private List categoryList;
private float dp;
public List bmp = new ArrayList();
public List drr = new ArrayList();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selectimg);
Init();
}
List urList = new ArrayList();
public void Init() {
dp = getResources().getDimension(R.dimen.dp);
comment_content = (EditText) findViewById(R.id.comment_content);
comment_content.setFocusable(true);
comment_content.setFocusableInTouchMode(true);
back = (ImageView) findViewById(R.id.back);
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
MainActivity.this.finish();
}
});
selectimg_horizontalScrollView = (HorizontalScrollView) findViewById(R.id.selectimg_horizontalScrollView);
gridview = (GridView) findViewById(R.id.noScrollgridview);
gridview.setSelector(new ColorDrawable(Color.TRANSPARENT));
gridviewInit();
comment_content.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
temp = s.toString();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
activity_selectimg_send = (TextView) findViewById(R.id.activity_selectimg_send);
activity_selectimg_send.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (bmp.size() < 1) {
Toast.makeText(getApplicationContext(), "至少需要一张图片",
Toast.LENGTH_SHORT).show();
return;
}
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(MainActivity.this
.getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
String content = comment_content.getText().toString().trim();
if (content.equals("")) {
Toast.makeText(getApplicationContext(), "发布的内容不能为空",
Toast.LENGTH_SHORT).show();
return;
}
for (int i = 0; i < drr.size(); i++) {
urList.add(drr.get(i));
}
activity_selectimg_send.setEnabled(false);
// 图片地址 urList;
}
});
selectimg_relativeLayout_below = (LinearLayout) findViewById(R.id.selectimg_relativeLayout_below);
activity_selectimg_scrollView = (ScrollView) findViewById(R.id.activity_selectimg_scrollView);
activity_selectimg_scrollView.setVerticalScrollBarEnabled(false);
final View decorView = getWindow().getDecorView();
final WindowManager wm = this.getWindowManager();
decorView.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
@SuppressWarnings("deprecation")
int displayheight = wm.getDefaultDisplay().getHeight();
Rect rect = new Rect();
decorView.getWindowVisibleDisplayFrame(rect);
int dynamicHight = rect.bottom - rect.top;
float ratio = (float) dynamicHight
/ (float) displayheight;
if (ratio > 0.2f && ratio < 0.6f) {
selectimg_relativeLayout_below
.setVisibility(View.VISIBLE);
activity_selectimg_scrollView.scrollBy(0,
activity_selectimg_scrollView.getHeight());
} else {
selectimg_relativeLayout_below
.setVisibility(View.GONE);
}
}
});
}
public void gridviewInit() {
adapter = new GridAdapter(this);
adapter.setSelectedPosition(0);
int size = 0;
if (bmp.size() < 6) {
size = bmp.size() + 1;
} else {
size = bmp.size();
}
LayoutParams params = gridview.getLayoutParams();
final int width = size * (int) (dp * 9.4f);
params.width = width;
gridview.setLayoutParams(params);
gridview.setColumnWidth((int) (dp * 9.4f));
gridview.setStretchMode(GridView.NO_STRETCH);
gridview.setNumColumns(size);
gridview.setAdapter(adapter);
gridview.setOnItemClickListener(this);
selectimg_horizontalScrollView.getViewTreeObserver()
.addOnPreDrawListener(// 绘制完毕
new OnPreDrawListener() {
public boolean onPreDraw() {
selectimg_horizontalScrollView.scrollTo(width,
0);
selectimg_horizontalScrollView
.getViewTreeObserver()
.removeOnPreDrawListener(this);
return false;
}
});
}
protected void onPause() {
// TODO Auto-generated method stub
// temp=comment_content.getText().toString().trim();
super.onPause();
}
public class GridAdapter extends BaseAdapter {
private LayoutInflater listContainer;
private int selectedPosition = -1;
private boolean shape;
public boolean isShape() {
return shape;
}
public void setShape(boolean shape) {
this.shape = shape;
}
public class ViewHolder {
public ImageView image;
public Button bt;
}
public GridAdapter(Context context) {
listContainer = LayoutInflater.from(context);
}
public int getCount() {
if (bmp.size() < 6) {
return bmp.size() + 1;
} else {
return bmp.size();
}
}
public Object getItem(int arg0) {
return null;
}
public long getItemId(int arg0) {
return 0;
}
public void setSelectedPosition(int position) {
selectedPosition = position;
}
public int getSelectedPosition() {
return selectedPosition;
}
/**
* ListView Item设置
*/
public View getView(int position, View convertView, ViewGroup parent) {
final int sign = position;
// 自定义视图
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
// 获取list_item布局文件的视图
convertView = listContainer.inflate(
R.layout.item_published_grida, null);
// 获取控件对象
holder.image = (ImageView) convertView
.findViewById(R.id.item_grida_image);
holder.bt = (Button) convertView
.findViewById(R.id.item_grida_bt);
// 设置控件集到convertView
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
if (position == bmp.size()) {
holder.image.setImageBitmap(BitmapFactory.decodeResource(
getResources(), R.drawable.icon_addpic_unfocused));
holder.bt.setVisibility(View.GONE);
if (position == 6) {
holder.image.setVisibility(View.GONE);
}
} else {
holder.image.setImageBitmap(bmp.get(position));
holder.bt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
PhotoActivity.bitmap.remove(sign);
bmp.get(sign).recycle();
bmp.remove(sign);
drr.remove(sign);
gridviewInit();
}
});
}
return convertView;
}
}
public class PopupWindows extends PopupWindow {
public PopupWindows(Context mContext, View parent) {
View view = View
.inflate(mContext, R.layout.item_popupwindows, null);
view.startAnimation(AnimationUtils.loadAnimation(mContext,
R.anim.fade_ins));
LinearLayout ll_popup = (LinearLayout) view
.findViewById(R.id.ll_popup);
// ll_popup.startAnimation(AnimationUtils.loadAnimation(mContext,
// R.anim.push_bottom_in_2));
setWidth(LayoutParams.FILL_PARENT);
setHeight(LayoutParams.FILL_PARENT);
setBackgroundDrawable(new BitmapDrawable());
setFocusable(true);
setOutsideTouchable(true);
setContentView(view);
showAtLocation(parent, Gravity.BOTTOM, 0, 0);
update();
Button bt1 = (Button) view
.findViewById(R.id.item_popupwindows_camera);
Button bt2 = (Button) view
.findViewById(R.id.item_popupwindows_Photo);
Button bt3 = (Button) view
.findViewById(R.id.item_popupwindows_cancel);
bt1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
photo();
dismiss();
}
});
bt2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(
// 相册
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
dismiss();
}
});
bt3.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dismiss();
}
});
}
}
private static final int TAKE_PICTURE = 0;
private static final int RESULT_LOAD_IMAGE = 1;
private static final int CUT_PHOTO_REQUEST_CODE = 2;
private static final int SELECTIMG_SEARCH = 3;
private String path = "";
private Uri photoUri;
public void photo() {
try {
Intent openCameraIntent = new Intent(
MediaStore.ACTION_IMAGE_CAPTURE);
String sdcardState = Environment.getExternalStorageState();
String sdcardPathDir = android.os.Environment
.getExternalStorageDirectory().getPath() + "/tempImage/";
File file = null;
if (Environment.MEDIA_MOUNTED.equals(sdcardState)) {
// 有sd卡,是否有myImage文件夹
File fileDir = new File(sdcardPathDir);
if (!fileDir.exists()) {
fileDir.mkdirs();
}
// 是否有headImg文件
file = new File(sdcardPathDir + System.currentTimeMillis()
+ ".JPEG");
}
if (file != null) {
path = file.getPath();
photoUri = Uri.fromFile(file);
openCameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(openCameraIntent, TAKE_PICTURE);
}
} catch (Exception e) {
e.printStackTrace();
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case TAKE_PICTURE:
if (drr.size() < 6 && resultCode == -1) {// 拍照
startPhotoZoom(photoUri);
}
break;
case RESULT_LOAD_IMAGE:
if (drr.size() < 6 && resultCode == RESULT_OK && null != data) {// 相册返回
Uri uri = data.getData();
if (uri != null) {
startPhotoZoom(uri);
}
}
break;
case CUT_PHOTO_REQUEST_CODE:
if (resultCode == RESULT_OK && null != data) {// 裁剪返回
Bitmap bitmap = Bimp.getLoacalBitmap(drr.get(drr.size() - 1));
PhotoActivity.bitmap.add(bitmap);
bitmap = Bimp.createFramedPhoto(480, 480, bitmap,
(int) (dp * 1.6f));
bmp.add(bitmap);
gridviewInit();
}
break;
case SELECTIMG_SEARCH:
if (resultCode == RESULT_OK && null != data) {
String text = "#" + data.getStringExtra("topic") + "#";
text = comment_content.getText().toString() + text;
comment_content.setText(text);
comment_content.getViewTreeObserver().addOnPreDrawListener(
new OnPreDrawListener() {
public boolean onPreDraw() {
comment_content.setEnabled(true);
// 设置光标为末尾
CharSequence cs = comment_content.getText();
if (cs instanceof Spannable) {
Spannable spanText = (Spannable) cs;
Selection.setSelection(spanText,
cs.length());
}
comment_content.getViewTreeObserver()
.removeOnPreDrawListener(this);
return false;
}
});
}
break;
}
}
private void startPhotoZoom(Uri uri) {
try {
// 获取系统时间 然后将裁剪后的图片保存至指定的文件夹
SimpleDateFormat sDateFormat = new SimpleDateFormat(
"yyyyMMddhhmmss");
String address = sDateFormat.format(new java.util.Date());
if (!FileUtils.isFileExist("")) {
FileUtils.createSDDir("");
}
drr.add(FileUtils.SDPATH + address + ".JPEG");
Uri imageUri = Uri.parse("file:///sdcard/formats/" + address
+ ".JPEG");
final Intent intent = new Intent("com.android.camera.action.CROP");
// 照片URL地址
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 480);
intent.putExtra("outputY", 480);
// 输出路径
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
// 输出格式
intent.putExtra("outputFormat",
Bitmap.CompressFormat.JPEG.toString());
// 不启用人脸识别
intent.putExtra("noFaceDetection", false);
intent.putExtra("return-data", false);
startActivityForResult(intent, CUT_PHOTO_REQUEST_CODE);
} catch (IOException e) {
e.printStackTrace();
}
}
protected void onDestroy() {
FileUtils.deleteDir(FileUtils.SDPATH);
FileUtils.deleteDir(FileUtils.SDPATH1);
// 清理图片缓存
for (int i = 0; i < bmp.size(); i++) {
bmp.get(i).recycle();
}
for (int i = 0; i < PhotoActivity.bitmap.size(); i++) {
PhotoActivity.bitmap.get(i).recycle();
}
PhotoActivity.bitmap.clear();
bmp.clear();
drr.clear();
super.onDestroy();
}
public void onItemClick(AdapterView> arg0, View arg1, int arg2, long arg3) {
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(MainActivity.this
.getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
if (arg2 == bmp.size()) {
String sdcardState = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(sdcardState)) {
new PopupWindows(MainActivity.this, gridview);
} else {
Toast.makeText(getApplicationContext(), "sdcard已拔出,不能选择照片",
Toast.LENGTH_SHORT).show();
}
} else {
Intent intent = new Intent(MainActivity.this,
PhotoActivity.class);
intent.putExtra("ID", arg2);
startActivity(intent);
}
}
}
package com.dynamic;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.RectF;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.provider.ContactsContract.Contacts.Photo;
/**
* 压缩图片
*
* @author Administrator
*
*/
public class Bimp {
public static int max = 0;
public static boolean act_bool = true;
public static List bmp = new ArrayList();
// 图片sd地址 上传服务器时把图片调用下面方法压缩后 保存到临时文件夹 图片压缩后小于100KB,失真度不明显
public static List drr = new ArrayList();
// TelephonyManager tm = (TelephonyManager) this
// .getSystemService(Context.TELEPHONY_SERVICE);
public static Bitmap revitionImageSize(String path) throws IOException {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(
new File(path)));
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
// Bitmap btBitmap=BitmapFactory.decodeFile(path);
// System.out.println("原尺寸高度:"+btBitmap.getHeight());
// System.out.println("原尺寸宽度:"+btBitmap.getWidth());
BitmapFactory.decodeStream(in, null, options);
in.close();
int i = 0;
Bitmap bitmap = null;
while (true) {
if ((options.outWidth >> i <= 800)
&& (options.outHeight >> i <= 800)) {
in = new BufferedInputStream(
new FileInputStream(new File(path)));
options.inSampleSize = (int) Math.pow(2.0D, i);
options.inJustDecodeBounds = false;
bitmap = BitmapFactory.decodeStream(in, null, options);
break;
}
i += 1;
}
// 当机型为三星时图片翻转
// bitmap = Photo.photoAdapter(path, bitmap);
// System.out.println("-----压缩后尺寸高度:" + bitmap.getHeight());
// System.out.println("-----压缩后尺寸宽度度:" + bitmap.getWidth());
return bitmap;
}
public static Bitmap getLoacalBitmap(String url) {
try {
FileInputStream fis = new FileInputStream(url);
return BitmapFactory.decodeStream(fis); // /把流转化为Bitmap图片
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
}
}
/**
*
* @param x
* 图像的宽度
* @param y
* 图像的高度
* @param image
* 源图片
* @param outerRadiusRat
* 圆角的大小
* @return 圆角图片
*/
public static Bitmap createFramedPhoto(int x, int y, Bitmap image, float outerRadiusRat) {
// 根据源文件新建一个darwable对象
Drawable imageDrawable = new BitmapDrawable(image);
// 新建一个新的输出图片
Bitmap output = Bitmap.createBitmap(x, y, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
// 新建一个矩形
RectF outerRect = new RectF(0, 0, x, y);
// 产生一个红色的圆角矩形
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setColor(Color.RED);
canvas.drawRoundRect(outerRect, outerRadiusRat, outerRadiusRat, paint);
// 将源图片绘制到这个圆角矩形上
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
imageDrawable.setBounds(0, 0, x, y);
canvas.saveLayer(outerRect, paint, Canvas.ALL_SAVE_FLAG);
imageDrawable.draw(canvas);
canvas.restore();
return output;
}
}
package com.dynamic;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import android.graphics.Bitmap;
import android.os.Environment;
import android.util.Log;
public class FileUtils {
public static String SDPATH = Environment.getExternalStorageDirectory()
+ "/formats/";
public static String SDPATH1 = Environment.getExternalStorageDirectory()
+ "/myimages/";
public static void saveBitmap(Bitmap bm, String picName) {
Log.e("", "保存图片");
try {
if (!isFileExist("")) {
File tempf = createSDDir("");
}
File f = new File(SDPATH, picName + ".JPEG");
if (f.exists()) {
f.delete();
}
FileOutputStream out = new FileOutputStream(f);
bm.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();
Log.e("", "已经保存");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static File createSDDir(String dirName) throws IOException {
File dir = new File(SDPATH + dirName);
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
System.out.println("createSDDir:" + dir.getAbsolutePath());
System.out.println("createSDDir:" + dir.mkdir());
}
return dir;
}
public static boolean isFileExist(String fileName) {
File file = new File(SDPATH + fileName);
file.isFile();
return file.exists();
}
public static void delFile(String fileName){
File file = new File(SDPATH + fileName);
if(file.isFile()){
file.delete();
}
file.exists();
}
public static void deleteDir(String path) {
File dir = new File(path);
if (dir == null || !dir.exists() || !dir.isDirectory())
return;
for (File file : dir.listFiles()) {
if (file.isFile())
file.delete(); // 删除所有文件
else if (file.isDirectory())
deleteDir(path); // 递规的方式删除文件夹
}
dir.delete();// 删除目录本身
}
public static boolean fileIsExists(String path) {
try {
File f = new File(path);
if (!f.exists()) {
return false;
}
} catch (Exception e) {
return false;
}
return true;
}
}
package com.dynamic;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
public class PhotoActivity extends Activity {
private ArrayList listViews = null;
private ViewPager pager;
private MyPageAdapter adapter;
public static List bitmap = new ArrayList();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_photo);
pager = (ViewPager) findViewById(R.id.viewpager);
pager.setOnPageChangeListener(pageChangeListener);
for (int i = 0; i < bitmap.size(); i++) {
initListViews(bitmap.get(i));//
}
adapter = new MyPageAdapter(listViews);// 构造adapter
pager.setAdapter(adapter);// 设置适配器
Intent intent = getIntent();
int id = intent.getIntExtra("ID", 0);
pager.setCurrentItem(id);
}
private void initListViews(Bitmap bm) {
if (listViews == null)
listViews = new ArrayList();
ImageView img = new ImageView(this);// 构造textView对象
img.setBackgroundColor(0xff000000);
img.setImageBitmap(bm);
img.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
listViews.add(img);// 添加view
}
private OnPageChangeListener pageChangeListener = new OnPageChangeListener() {
public void onPageSelected(int arg0) {// 页面选择响应函数
// count = arg0;
}
public void onPageScrolled(int arg0, float arg1, int arg2) {// 滑动中。。。
}
public void onPageScrollStateChanged(int arg0) {// 滑动状态改变
}
};
class MyPageAdapter extends PagerAdapter {
private ArrayList listViews;// content
private int size;// 页数
public MyPageAdapter(ArrayList listViews) {// 构造函数
// 初始化viewpager的时候给的一个页面
this.listViews = listViews;
size = listViews == null ? 0 : listViews.size();
}
public void setListViews(ArrayList listViews) {// 自己写的一个方法用来添加数据
this.listViews = listViews;
size = listViews == null ? 0 : listViews.size();
}
public int getCount() {// 返回数量
return size;
}
public int getItemPosition(Object object) {
return POSITION_NONE;
}
public void destroyItem(View arg0, int arg1, Object arg2) {// 销毁view对象
((ViewPager) arg0).removeView(listViews.get(arg1 % size));
}
public void finishUpdate(View arg0) {
}
public Object instantiateItem(View arg0, int arg1) {// 返回view对象
try {
((ViewPager) arg0).addView(listViews.get(arg1 % size), 0);
} catch (Exception e) {
}
return listViews.get(arg1 % size);
}
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
}
}
代码下载