popwindow收藏修改删除的主类

来源:互联网 发布:网络监控手机客户端 编辑:程序博客网 时间:2024/06/05 07:57
 package com.example.popupwindowlistview;

import java.util.ArrayList;

import com.example.popupwindowlistview.adapter.MyAdapter;

import android.app.Activity;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;

public class MainActivity extends Activity {

    private ListView listView;
    private ArrayList<String> arrayList;
    private MyAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = (ListView) findViewById(R.id.listview);
        arrayList = new ArrayList<String>();

        for (int i = 0; i < 20; i++) {
            arrayList.add("你好" + i);
        }
        adapter = new MyAdapter(arrayList, this);

        listView.setAdapter(adapter);
        listView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(final AdapterView<?> parent,
                    final View view, final int position, long id) {

                final ImageView imageView = (ImageView) view
                        .findViewById(R.id.image);
                View view2 = View
                        .inflate(MainActivity.this, R.layout.pop, null);

                final PopupWindow pop = new PopupWindow(view2,
                        LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
                TextView textView = (TextView) view2.findViewById(R.id.delete);
                TextView textView2 = (TextView) view2.findViewById(R.id.read);
                TextView textView3 = (TextView) view2
                        .findViewById(R.id.shoucang);
                ImageView imageView2 = (ImageView) view2
                        .findViewById(R.id.dismiss);

                imageView.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {

                        int[] a = new int[2];

                        imageView.getLocationOnScreen(a);

                        pop.setFocusable(true);
                        // pop.setTouchable(true);
                        pop.setBackgroundDrawable(new BitmapDrawable());
                        pop.setOutsideTouchable(true);
                        pop.showAtLocation(imageView, 0, a[0], a[1]);

                        // pop.showAsDropDown(imageView);

                    }
                });

                textView.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {

                        arrayList.remove(position);
                        adapter.notifyDataSetChanged();
                        pop.dismiss();

                    }
                });

                imageView2.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        pop.dismiss();

                    }
                });

            }
        });
    }

}