Android 单击“从通知发送数据”时,仅从arraylist获取一个元素

Android 单击“从通知发送数据”时,仅从arraylist获取一个元素,android,push-notification,android-pendingintent,Android,Push Notification,Android Pendingintent,您好,我播放了通知,根据与圆圈的距离,我显示了通知,我想将所有标记emailid发送到挂起的意图活动 这是我的密码 @Override public void onLocationChanged(Location location) { if (circle != null) circle.remove(); this.location = location; double latitude = location.getLatitude(); do

您好,我播放了通知,根据与圆圈的距离,我显示了通知,我想将所有标记emailid发送到挂起的意图活动

这是我的密码

@Override
public void onLocationChanged(Location location) {
    if (circle != null)
        circle.remove();
    this.location = location;
    double latitude = location.getLatitude();
    double longitude = location.getLongitude();
    LatLng latLng = new LatLng(latitude, longitude);
//        googleMap.addMarker(new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE)));
    googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
    googleMap.animateCamera(CameraUpdateFactory.zoomTo(14));
    circle = googleMap.addCircle(new CircleOptions()
            .center(new LatLng(latitude, longitude))
            .strokeColor(Color.RED)
            .strokeWidth(2)
            .radius(1000));
    circle.setCenter(latLng);


    float[] distance = new float[2];
    if (!abc.isEmpty()) {
        mar_list=new ArrayList<>();
        for (int i = 0; i < abc.size(); i++) {
            Location.distanceBetween(abc.get(i).latitude, abc.get(i).longitude, circle.getCenter().latitude, circle.getCenter().longitude, distance);

            if (distance[0] <= circle.getRadius()) {
                mar_list.add(locationlist.get(i).get("usrnm"));
                manager1 = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                Intent intent = new Intent(MainActivity.this, OfferActivity.class);
                intent.putExtra("list",mar_list);
                Log.v("TAG",""+mar_list.toString());
                //Here mar_list contain three items but in offer activity only one item is displayed      
                PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
                mBuilder = new NotificationCompat.Builder(this);
                mBuilder.setOngoing(false);
                Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
                mBuilder.setContentTitle("Offer")
                        .setStyle(new NotificationCompat.BigTextStyle().bigText("You Have Entered in Offer zone.To see offer in your area please proceed"))
                        .setContentText("You Have Entered in Offer zone.To see offer in your area please proceed")
                        .setLargeIcon(largeIcon)
                        .setContentIntent(pendingIntent)
                        .setVibrate(new long[]{1000, 1000, 1000, 1000, 1000})
                        .setAutoCancel(true)
                        .setSmallIcon(R.mipmap.ic_launcher);
                manager1.notify(1, mBuilder.build());



            } else {
                Log.v("TAG ", "" + distance[0] + " radius: " + circle.getRadius());
                Toast.makeText(getBaseContext(), "outside, distance from center: " + distance[0] + " radius: " + circle.getRadius(), Toast.LENGTH_LONG).show();
            }

        }

        Log.v("TAG",""+mar_list.toString());
    } else {
        Log.v("TAG ", "" + distance[0] + " radius: " + circle.getRadius());
        Toast.makeText(getBaseContext(), "outside, distance from center: " + distance[0] + " radius: " + circle.getRadius(), Toast.LENGTH_LONG).show();
    }
}
@覆盖
已更改位置上的公共无效(位置){
如果(圆圈!=null)
圈。删除();
这个位置=位置;
双纬度=location.getLatitude();
double longitude=location.getLongitude();
LatLng LatLng=新LatLng(纬度、经度);
//addMarker(新的MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE));
googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
googleMap.animateCamera(CameraUpdateFactory.zoomTo(14));
circle=googleMap.addCircle(新的CircleOptions()
.中心(新板条(纬度、经度))
.strokeColor(颜色.红色)
.冲程宽度(2)
.半径(1000);
圆整定中心(车床);
浮动[]距离=新浮动[2];
如果(!abc.isEmpty()){
mar_list=new ArrayList();
对于(int i=0;i
编译这个gradle
compile'com.google.code.gson:gson:2.7'

String str = new Gson().toJson(mar_list);

intent.putExtra("list",str);
从intent获取列表

YourModelClass model = new Gson().fromJson(str,YourModelClass.class);

MainActivity.java中:

更改此项:

 intent.putExtra("list",mar_list);
mylist = (ArrayList<String>) getIntent().getSerializableExtra("list");

实用性java

更改此项:

 intent.putExtra("list",mar_list);
mylist = (ArrayList<String>) getIntent().getSerializableExtra("list");

如果(距离[0]距离为float float[]距离=新的float[2],请更改此
;告诉我arraylist名称?
我希望所有arraylist传递到下一个活动
Locationlist包含所有标记位置Maru列表包含来自circle radious的所有标记,abc包含所有latlangi希望将Maru列表传递到下一个活动
mylist = getIntent().getExtras().getStringArrayList("list");