首页 > 解决方案 > 数组中的 ItemList Android Studio

问题描述

我在将项目存储在数组列表中时遇到问题这是我的代码

package com.example.java;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ListView;

import org.w3c.dom.Element;

import java.sql.Array;
import java.util.ArrayList;
import java.util.Arrays;

public class MainActivity3 extends AppCompatActivity {
    private static final String Tag = "MainAcitivity3";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        Log.d(Tag, "onCreate: Started.");
        ListView mListView = (ListView) findViewById(R.id.listView);
        Intent intent = getIntent();
        String asd = intent.getStringExtra(MainActivity2.namabarang);
        String asdf = intent.getStringExtra(MainActivity2.jumlahstock);

        Item sparepart = new Item(asd,asdf);
        ArrayList<Item> itemlist = new ArrayList<Item>();
        itemlist.add(sparepart);

        PersonListAdapter adapter = new PersonListAdapter(this, R.layout.adapter_view_layout,itemlist);
        mListView.setAdapter(adapter);

        String number = intent.getStringExtra(MainActivity2.extraint);
        if(number != null) {
            FrameLayout lay = (FrameLayout) findViewById(R.id.frames);
            if (number.equals("1")) {
                lay.setVisibility(View.INVISIBLE);
                mListView.setVisibility(View.VISIBLE);
            } else {

            }
        }
        else{}

    }

    public void onBtnClick (View view){
        Intent intent = new Intent(this,MainActivity2.class);
        startActivity(intent);
    }



}

我尝试做的是项目列表中项目的存储将通过数组编号通知自动化。因此,我将在 itemlist 中添加循环以存储该项目,但问题是当我想将其放入 ArrayList[] itemlist = new ArraList[]; 有一个错误。

所以我尝试做的是

public void onCreate(){
    int loop=0;
    loop++;
    String asd = intent.getStringExtra(MainActivity2.namabarang);
    String asdf= intent.getStringExtra(MainActivity2.jumlahstock);
    Item sparepart = new Item(asd,asdf);
    ArrayList<item>[] itemlist= new ArrayList[]();
    itemlist[loop] = sparepart;
}

这样每次 MainActivity3 运行时都会将字符串保存在数组 0 中,然后在另一个 Activity 中运行,当返回 MainActivity3 时,字符串将保存在数组 1 中。请帮助

标签: javaandroidarrayssorting

解决方案


你有错误的语法。要创建 ArrayList 的数组,语法是:

ArrayList<Item>[] itemlist = new ArrayList[10];

您需要在初始化时指定大小,因为它是一个数组,大小是固定的。此外,最好使用 ArrayList 的 ArrayList 而不是 ArrayList 的数组。

相关主题:如何创建 ArrayList 数组?


推荐阅读