有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java创建要传递到imageDisplay活动的图像数组

在我当前的应用程序中,我可以创建一个列表视图,在第二个活动中使用imagedisplay显示图片。然而,因为有些条目有很多图片,我想将它们压缩成一个数组,传递给第二个活动,用户将能够浏览图片。下面是我当前的代码,我有点困惑于如何编辑/更改代码以包含数组。有什么建议吗

public class adultcardiaclist extends AppCompatActivity {
    private AdView mAdView;
    ListView listview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_adultcardiaclist);
        MobileAds.initialize(this, "ca-app-pub-9944401739416572~8067453677");

        mAdView = (AdView) findViewById(R.id.adviews);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);


        Button b1 = (Button) findViewById(R.id.homebutton);

        //Home Button-----------------------------------------------------------------------------------------------------
        b1.setOnClickListener(new View.OnClickListener () {

            public void onClick(View view) {
                Intent protocolcata = new Intent(adultcardiaclist.this, HomeScreen.class);
                startActivity(protocolcata);
            }
        });

// myImageList.add(new ImageDisplay("", R.drawable.ekghomepic));

        final Context context = getApplicationContext();

        //list contains image name, image location
        final List<ImageDisplay> myImageList = new ArrayList<ImageDisplay>();
        myImageList.add(new ImageDisplay("Asystole / PEA", R.drawable.adultasystole1));
        myImageList.add(new ImageDisplay("Asystole / PEA Page 2", R.drawable.adultasystole2));
        myImageList.add(new ImageDisplay("Bradycardia", R.drawable.adultbradycardia1));
        myImageList.add(new ImageDisplay("Bradycardia Page 2", R.drawable.adultbradycardia2));
        myImageList.add(new ImageDisplay("Cardiac Arrest", R.drawable.adultcardiacarrest1));
        myImageList.add(new ImageDisplay("Cardiac Arrest Page 2", R.drawable.adultcardiacarrest2));
        myImageList.add(new ImageDisplay("Cardiac Arrest Page 3", R.drawable.adultcardiacarrest3));
        myImageList.add(new ImageDisplay("Chest Pain / STEMI", R.drawable.adultchestpain1));
        myImageList.add(new ImageDisplay("Chest Pain / STEMI Page 2", R.drawable.adultchestpain2));
        myImageList.add(new ImageDisplay("CHF / Pulmonary Edema", R.drawable.adultchf1));
        myImageList.add(new ImageDisplay("CHF / Pulmonary Edema Page 2", R.drawable.adultchf2));
        myImageList.add(new ImageDisplay("Tachycardia (Narrow Complex)", R.drawable.adulttachynarrow1));
        myImageList.add(new ImageDisplay("Tachycardia (Narrow Complex) Page 2", R.drawable.adulttachynarrow2));
        myImageList.add(new ImageDisplay("Tachycardia (Narrow Complex) Page 3", R.drawable.adulttachynarrow3));
        myImageList.add(new ImageDisplay("Tachycardia (Wide Complex)", R.drawable.adulttachywide1));
        myImageList.add(new ImageDisplay("Tachycardia (Wide Complex) Page 2", R.drawable.adulttachywide2));
        myImageList.add(new ImageDisplay("Tachycardia (Wide Complex) Page 3", R.drawable.adulttachywide3));
        myImageList.add(new ImageDisplay("V-Fib / Pulseless V-Tach", R.drawable.adultvf1));
        myImageList.add(new ImageDisplay("V-Fib / Pulseless V-Tach Page 2", R.drawable.adultvf2));
        myImageList.add(new ImageDisplay("Post Resuscitation", R.drawable.adultpostresus1));
        myImageList.add(new ImageDisplay("Post Resuscitation Page 2", R.drawable.adultpostresus2));
        myImageList.add(new ImageDisplay("Targeted Temperature Management", R.drawable.adulttargtemp1));
        myImageList.add(new ImageDisplay("Targeted Temperature Management Page 2", R.drawable.adulttargtemp2));
        myImageList.add(new ImageDisplay("TEAM Focused CPR", R.drawable.adultteam1));
        myImageList.add(new ImageDisplay("TEAM Focused CPR Page 2", R.drawable.adultteam2));
        myImageList.add(new ImageDisplay("Termination of CPR", R.drawable.adultterm1));
        myImageList.add(new ImageDisplay("Termination of CPR Page 2", R.drawable.adultterm2));



        //define ListView and create onItemClick Listener
        listview = (ListView) findViewById(R.id.adultcardiaclistview);

        ArrayAdapter<ImageDisplay> arrayAdapters = new ArrayAdapter<ImageDisplay>(this, R.layout.support_simple_spinner_dropdown_item, myImageList);
        listview.setAdapter(arrayAdapters);
        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                Intent myIntent = new Intent(context, imagedisplay.class);

                myIntent.putExtra("name", myImageList.get(position).getName());
                myIntent.putExtra("imagePath", myImageList.get(position).getPath());
                startActivityForResult(myIntent, 0);
            }
        });
    }


    public class ImageDisplay {
        private String Name;
        private int Path; // use String if you use a path, in here i'm storing image in drawable

        @Override
        public String toString() {
            return Name;
        }

        public ImageDisplay() {
        }

        public ImageDisplay(String name, int path) {
            this.Name = name;
            this.Path = path;
        }

        public String getName() {
            return Name;
        }

        public void setName(String name) {
            Name = name;
        }

        public int getPath() {
            return Path;
        }

        public void setPath(int path) {
            this.Path = path;
        }
    }

}

共 (1) 个答案

  1. # 1 楼答案

    修改ImageDisplay类以实现可序列化。现在,添加ImageDisplay对象列表,而不是将单个项目作为附加项添加到意图中