Android 从listview中获取EditText、微调器和所选日期文本视图tex
我正在写一份申请书。我正在为用户输入创建动态布局,如(姓名、年龄、出生日期),并试图通过listview创建此布局。 我可以创建布局,但当我尝试获取用户输入值时,没有显示任何内容,即使用户选择了他们的出生日期,listview的textview中也没有显示任何内容。即使我尝试显示此布局两次以上,也没有显示任何内容 请帮助我。如何检索用户键入的listview值并多次添加布局。 下面是我的适配器类:Android 从listview中获取EditText、微调器和所选日期文本视图tex,android,android-layout,listview,android-listview,Android,Android Layout,Listview,Android Listview,我正在写一份申请书。我正在为用户输入创建动态布局,如(姓名、年龄、出生日期),并试图通过listview创建此布局。 我可以创建布局,但当我尝试获取用户输入值时,没有显示任何内容,即使用户选择了他们的出生日期,listview的textview中也没有显示任何内容。即使我尝试显示此布局两次以上,也没有显示任何内容 请帮助我。如何检索用户键入的listview值并多次添加布局。 下面是我的适配器类: @Override public View getView(int position, Vie
@Override
public View getView(int position, View convertView, ViewGroup parent) {
holder=null;
LayoutInflater inflater=(LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if(convertView==null){
convertView=inflater.inflate(R.layout.test_travller,null);
holder=new ViewHolder();
holder.passengerType=(TextView) convertView.findViewById (R.id.Adult_Detail);
holder.Title=(Spinner) convertView.findViewById (R.id.Adult_Title);
holder.Adult_firstName=(EditText) convertView.findViewById (R.id.Adult_FirstName);
holder.MiddleName=(EditText) convertView.findViewById (R.id.Adult_Middlename);
holder.Lastname=(EditText) convertView.findViewById (R.id.Adult_Lastname);
holder.DOB=(TextView) convertView.findViewById (R.id.Adult_DOB);
holder.saveButton = (Button) convertView.findViewById (R.id.saveButton);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
holder.DOB.setText(new StringBuilder().append(year).append (month).append(date));
// holder.passengerType.setText(Details.get (position).getPassengerType());
// holder.Title.setAdapter(holder.spinneradapter.getTitle_adapter ());
holder.Adult_firstName.setTag(position);
/* holder.Adult_firstName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String firstName = holder.Adult_firstName.getText().toString ();
Log.i("onclick",firstName);
}
});*/
/* holder.Title.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
holder.spinneradapter.setAdult_Title(position);
}
});*/
holder.DOB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatePickerDialog datepickerdialog=new DatePickerDialog (context,datepicker,year,month,date);
datepickerdialog.show();
}
});
holder.saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String firstName = holder.Adult_firstName.getText ().toString();
String middleName=holder.MiddleName.getText().toString();
String lastName= holder.Lastname.getText().toString();
String spinner_value=holder.Title.getSelectedItem ().toString();
passengerDetails.add(new PassengerDetails (spinner_value,firstName,middleName,lastName,""));
Log.i("values",""+firstName+middleName+lastName +spinner_value);
}
});
return convertView;
}
private DatePickerDialog.OnDateSetListener datepicker=new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int selectedyear, int monthOfYear, int dayOfMonth) {
calendar.set(Calendar.YEAR,selectedyear);
calendar.set(Calendar.MONTH,monthOfYear);
calendar.set(Calendar.DATE,dayOfMonth);
year=calendar.get(Calendar.YEAR);
month=calendar.get(Calendar.MONTH);
date=calendar.get(Calendar.DATE);
}
};
public class ViewHolder{
// PassengerDetails spinneradapter;
TextView passengerType,DOB;
Spinner Title;
EditText Adult_firstName,Lastname,MiddleName;
Button saveButton;
}
@覆盖
公共视图getView(int位置、视图转换视图、视图组父视图){
holder=null;
LayoutInflater充气器=(LayoutInflater)context.getSystemService(Activity.LAYOUT\u充气器\u SERVICE);
if(convertView==null){
convertView=充气机充气(右布局测试,空);
holder=新的ViewHolder();
holder.passengerType=(TextView)convertView.findViewById(R.id.成人_详细信息);
holder.Title=(微调器)convertView.findViewById(R.id.成人标题);
holder.maintal_firstName=(EditText)convertView.findViewById(R.id.maintal_firstName);
holder.MiddleName=(EditText)convertView.findViewById(R.id.成人_MiddleName);
holder.Lastname=(EditText)convertView.findViewById(R.id.成人_Lastname);
holder.DOB=(TextView)convertView.findViewById(R.id.成人\ u DOB);
holder.saveButton=(Button)convertView.findViewById(R.id.saveButton);
convertView.setTag(支架);
}否则{
holder=(ViewHolder)convertView.getTag();
}
holder.DOB.setText(新的StringBuilder().append(年)。append(月)。append(日期));
//holder.passengerType.setText(Details.get(position.getPassengerType());
//holder.Title.setAdapter(holder.spinneradapter.getTitle_adapter());
持有者。成人姓名。setTag(位置);
/*holder.maintal\u firstName.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
String firstName=holder.成人_firstName.getText().toString();
Log.i(“onclick”,firstName);
}
});*/
/*holder.Title.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
固定器。旋转适配器。设置成人职务(职位);
}
});*/
holder.DOB.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
DatePickerDialog DatePickerDialog=新的DatePickerDialog(上下文、日期选择器、年、月、日期);
datepickerdialog.show();
}
});
holder.saveButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
String firstName=holder.成人_firstName.getText().toString();
字符串middleName=holder.middleName.getText().toString();
字符串lastName=holder.lastName.getText().toString();
字符串微调器_value=holder.Title.getSelectedItem().toString();
添加(新的passengerDetails(spinner_值,firstName,middleName,lastName,“”);
Log.i(“值”,“”+firstName+middleName+lastName+spinner\u值);
}
});
返回视图;
}
私有DatePickerDialog.OnDateSetListener datepicker=new DatePickerDialog.OnDateSetListener(){
@凌驾
public void onDateSet(日期选择器视图,int selectedyear,int monthOfYear,int dayOfMonth){
calendar.set(calendar.YEAR,selectedyear);
日历.设置(日历.月,月,年);
calendar.set(calendar.DATE,dayOfMonth);
year=calendar.get(calendar.year);
month=calendar.get(calendar.month);
date=calendar.get(calendar.date);
}
};
公共类视图持有者{
//乘客尾纺纱机;
TextView乘客类型,DOB;
微调器标题;
EditText成人姓名、姓氏、中间名;
按钮保存按钮;
}
我的主课呢
public class Traveller_Details extends AppCompatActivity {
Toolbar traveller_toolbar;
Context context=this;
AlertDialog dialog;
EditText Adult_EDText,Child_EDText,Mobile_EDText,EmailEDText;
String Firstname;
Button call,ConfirmBooking;
List<String> Child;
Search_flights search_flights=Search_flights.getSearch_flights();
int Num_of_Passengers;
PassengerDetails passeneger;
ListView Passengers;
List<String> passengerDetails;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.traveller_details);
Num_of_Passengers=search_flights.getAdult()+search_flights.getChild()+search_flights.getInfant();
Passengers=(ListView) findViewById(R.id.Passenger_Detail_List);
passengerDetails = new ArrayList<>();
for(int i=0;i<4;i++) {
passengerDetails.add("traveller1");
}
Passenger_DetailAdapter pdAdapter = new Passenger_DetailAdapter(this, passengerDetails);
Passengers.setAdapter(pdAdapter);
public class Traveller\u详细信息扩展活动{
工具条移动工具条;
上下文=这个;
警报对话框;
EditText成人文本、儿童文本、手机文本、电子邮件文本;
字符串名;
按钮呼叫,确认预订;
列出儿童;
Search_flights Search_flights=Search_flights.getSearch_flights();
国际旅客人数;
旅客详情旅客;
列表视图乘客;
列出乘客详情;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(右布局、旅行者详细信息);
乘客数量=搜索航班。Get成人()+搜索航班。getChild()+搜索航班。GetBaby();
乘客=(列表视图)findViewById(R.id.乘客详细信息列表);
passengerDetails=新的ArrayList();
对于(int i=0;i请添加holder类,需要主活动类holder类。下面是一个可能有帮助的示例:请检查我的编辑问题。我知道如何使用textview和按钮创建自定义listview。但是我有EditText、spinner和selectdate作为布局。我在获取用户选择的所有这些值时遇到了麻烦