Java 在ListView中添加项目

Java 在ListView中添加项目,java,android,listview,Java,Android,Listview,我的名单有问题。我有一个活动,我从中获取一些数据 必须在我的类中的变量中访问数据: Mylist.java类 public String Job,Ship,Location,Shift,Date; public String workingHour; Mylist(String job,String loc,String shp,String shft,String dat,String wh){ Job=job; Location=loc;

我的名单有问题。我有一个活动,我从中获取一些数据

必须在我的类中的变量中访问数据:

Mylist.java类

public  String Job,Ship,Location,Shift,Date;
   public String workingHour;
    Mylist(String job,String loc,String shp,String shft,String dat,String wh){
        Job=job;
        Location=loc;
        Ship=shp;
        Shift=shft;
        Date=dat;
        workingHour=wh;
    }
按“保存”按钮,列表必须添加一个项目。我的问题是,当我添加其他项目时,列表只有一个项目。如何解决此问题

添加类:

AddOredit.java

     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_oredit);

        final ArrayList<Mylist>list =new ArrayList<>();
        final ArrayList<String> Job=new ArrayList<>();

         String selecteditem1, selecteditem2,getlocation,getship,getdate,gethours;

 Spinner type=(Spinner)findViewById(R.id.s1);
        Spinner shift=(Spinner)findViewById(R.id.s2);

        EditText location=(EditText)findViewById(R.id.loc);
        EditText ship=(EditText)findViewById(R.id.ship);
        EditText date=(EditText)findViewById(R.id.date);
        EditText workinghours=(EditText)findViewById(R.id.hours);

        Button Save = (Button) findViewById(R.id.editbtn);
        Button cancel = (Button) findViewById(R.id.cancelbtn);

        selecteditem1 = type.getSelectedItem().toString(); //for first spinner
        selecteditem2 = shift.getSelectedItem().toString();//for second spinner

          getlocation=location.getText().toString();
          getship=ship.getText().toString();
          getdate=date.getText().toString();
         gethours=workinghours.getText().toString();

list.add(new Mylist(selecteditem1,getlocation,getship,selecteditem2,getdate,gethours));
        Log.e(TAG, String.valueOf(list.size()));
        for(int i=0;i<list.size();i++){
            Job.add("Job "+(i+1));
        }
 //When pressing save Button

        Save.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //list.add(new Mylist(selecteditem1, getlocation, getship, selecteditem2, getdate, gethours));



                Intent intent = new Intent(AddOredit.this, MainActivity.class);

                intent.putStringArrayListExtra("MyList", Job);


                startActivity(intent);
            }
        });

}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u add\u oredit);
最终ArrayList=新ArrayList();
最终ArrayList作业=新建ArrayList();
字符串selecteditem1,selecteditem2,getlocation,getship,getdate,gethours;
微调器类型=(微调器)findViewById(R.id.s1);
微调器移位=(微调器)findViewById(R.id.s2);
EditText位置=(EditText)findViewById(R.id.loc);
EditText ship=(EditText)findViewById(R.id.ship);
EditText日期=(EditText)findViewById(R.id.date);
EditText工作时间=(EditText)findViewById(R.id.hours);
按钮保存=(按钮)findviewbyd(R.id.editbtn);
按钮取消=(按钮)findViewById(R.id.cancelbtn);
selecteditem1=type.getSelectedItem().toString();//用于第一个微调器
selecteditem2=shift.getSelectedItem().toString();//用于第二个微调器
getlocation=location.getText().toString();
getship=ship.getText().toString();
getdate=date.getText().toString();
gethours=workinghours.getText().toString();
添加(新的Mylist(selecteditem1,getlocation,getship,selecteditem2,getdate,gethours));
Log.e(TAG、String.valueOf(list.size());

对于(int i=0;i您正在为创建的第二个活动中的列表对象分配新列表。请尝试使用现有对象分配列表,然后添加新对象

编辑: 尝试在全球范围内将其声明为

私有静态ArrayList=新ArrayList()


使用in onCreate()删除它。如果它仍然不起作用,请告诉我。

很抱歉,我是新成员。我对此不太了解。请用您最近的代码更新代码好吗?Mylist l=new Mylist(selecteditem1,getlocation,getship,selecteditem2,getdate,gethours);list.add(l);
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    ListView lv= (ListView) findViewById(R.id.listView);
    Button ADD=(Button)findViewById(R.id.addbtn);
    Button DELETE=(Button)findViewById(R.id.deletebtn);
    Button PROFILE=(Button)findViewById(R.id.profilebtn);
    Intent intent=getIntent();

    ArrayList<String> Job ;
    Job=intent.getStringArrayListExtra("MyList");

    if(Job!=null){

        ListAdapter adapter= new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, Job);
        lv.setAdapter(adapter);



        //when user click on add button
    }
    ADD.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //go to AddOreditpage
            Intent i = new Intent(MainActivity.this, AddOredit.class);
            startActivity(i);
        }
    });