Android 每次单击时创建对象

Android 每次单击时创建对象,android,arrays,oop,button,Android,Arrays,Oop,Button,是否有一种方法可以在用户每次单击某个按钮时创建对象 我制作了一个对象数组,作为所创建对象的容器 但是程序崩溃了!! 有没有可行的方法 package com.fawzyx.movie_rental_store; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText;

是否有一种方法可以在用户每次单击某个按钮时创建对象

我制作了一个对象数组,作为所创建对象的容器 但是程序崩溃了!! 有没有可行的方法

package com.fawzyx.movie_rental_store;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.widget.TextView;
import java.lang.String;

public class MemReg_activity extends Activity{

    public member[] member ;


    String name; 
    String id ;
    String mail;
    String ccard ;
    String address ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.reg_layout);
        final EditText etname = (EditText)findViewById(R.id.etname);
        EditText etmail = (EditText)findViewById(R.id.etmail);
        EditText etid = (EditText)findViewById(R.id.etid);
        EditText etccard=(EditText)findViewById(R.id.etccard);
        EditText etaddress = (EditText)findViewById(R.id.etadress);


        name = etname.getText().toString();
        id = etid.getText().toString();
        mail = etmail.getText().toString();
        ccard = etccard.getText().toString();
        address = etaddress.getText().toString();

        Button btSubmit= (Button)findViewById(R.id.btsubmit);

        btSubmit.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
            if (etname.getText().toString().length()<5)
            {
            Toast.makeText(MemReg_activity.this, "Enter a valid name", Toast.LENGTH_LONG).show();   
            }   
            else 
            {
                int x=0;
                x++ ;
                member[x]  = new member(name, id, mail , ccard , address);

            }
            }
        });



    }

}
package com.fawzyx.movie\u租赁店;
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Toast;
导入android.widget.TextView;
导入java.lang.String;
公共类MemReg_活动扩展活动{
公共成员[]成员;
字符串名;
字符串id;
字符串邮件;
字符串ccard;
字符串地址;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.reg_布局);
最终EditText etname=(EditText)findViewById(R.id.etname);
EditText etmail=(EditText)findViewById(R.id.etmail);
EditText etid=(EditText)findViewById(R.id.etid);
EditText etccard=(EditText)findViewById(R.id.etccard);
EditText eAddress=(EditText)findViewById(R.id.eAddress);
name=etname.getText().toString();
id=etid.getText().toString();
mail=etmail.getText().toString();
ccard=etccard.getText().toString();
address=etaddress.getText().toString();
按钮btSubmit=(按钮)findViewById(R.id.btSubmit);
btSubmit.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){

if(etname.getText().toString().length()成员未在任何位置初始化

//initialize
member = new member[15]; // 15 is just an example.

另一方面,如果大小不固定,则应考虑使用<代码>列表> />代码>

List<member> members = new ArrayList<member>();
以及访问这些项目

member m = members.get(0); // first item in the list
要迭代所有项

   for(member m : members){
      // m is your member object
   }

您正在将新对象添加到一个从未初始化过的数组中。这将导致空指针异常。如果您想拥有一组扩展的对象,则应使用列表。@dymmeh如何创建列表?list memberList=new ArrayList();将此设置为onCreate,然后单击onClick可执行memberList.add(您的对象)。是否有方法访问和搜索此列表?抱歉,我的意思是按某个对象属性搜索。如果对象属性是唯一的,则可以使用HashMap,或者需要遍历arraylist并进行比较
   for(member m : members){
      // m is your member object
   }