【发布时间】:2014-03-09 19:25:24
【问题描述】:
有没有办法在用户每次点击某个按钮时创建一个对象?
我创建了一个对象数组作为创建对象的容器 但是程序崩溃了!! 有什么可行的方法吗?
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);
}
}
});
}
}
【问题讨论】:
-
您正在将新对象添加到您从未初始化过的数组中。这将导致空指针异常。如果你想拥有一组扩展的对象,你应该使用一个列表。
-
@dymmeh 如何制作列表?
-
List
memberList = new ArrayList ();把它放在 onCreate 然后 onClick 你可以做 memberList.add(your object).