Ich erstelle dynamische listview programmatisch, beim Klicken auf bestimmte Ansicht ich öffne date dialog.and setze Datumswert auf bestimmte Ansicht, jetzt habe ich speichern Knopf, beim Klicken auf Speichern button ich will Wert jeder Ansicht aus der Listenzeile.auf Knopf klicken, um Daten von jeder Ansicht zu erhalten
Das ist mein Code:
private void createlist(ArrayList<publicationcheckeddetail> pb) {
try {
listContainer.removeAllViews();
final LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout mainlayout = new LinearLayout(MainActivity.this);
LinearLayout.LayoutParams mainlayoutparameter = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
mainlayout.setLayoutParams(mainlayoutparameter);
mainlayout.setOrientation(LinearLayout.VERTICAL);
for (int i = 0; i < pb.size(); i++) {
final ViewGroup viewgroup = (ViewGroup) inflater.inflate(R.layout.row_view, null);
final LinearLayout sublayout = new LinearLayout(MainActivity.this);
LinearLayout.LayoutParams sublayoutparameter = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
sublayout.setLayoutParams(sublayoutparameter);
sublayout.setOrientation(LinearLayout.HORIZONTAL);
sublayout.setGravity(Gravity.CENTER);
viewHolder = new ListViewHolder();
viewHolder.addImage = (ImageView) viewgroup.findViewById(R.id.addImage);
viewHolder.addchildimage = (ImageView) viewgroup.findViewById(R.id.childimage);
viewHolder.date = (TextView) viewgroup.findViewById(R.id.txtDate);
viewHolder.color = (TextView) viewgroup.findViewById(R.id.childdata);
Bitmap bitmap = BitmapFactory.decodeByteArray(pb.get(i).getPub_image(), 0, pb.get(i).getPub_image().length);
viewHolder.addImage.setImageBitmap(bitmap);
viewHoldersCollection.add(viewHolder);
sublayout.addView(viewgroup);
mainlayout.addView(sublayout);
viewHolder.date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int index = ((ViewGroup) sublayout.getParent()).indexOfChild(sublayout);
v1 = ((ViewGroup) sublayout.getParent()).getChildAt(index).findViewById(R.id.txtDate);
openDateDialogtoSelectDate(v1);
}
});
viewHolder.color.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int index = ((ViewGroup) sublayout.getParent()).indexOfChild(sublayout);
colorview = ((ViewGroup) sublayout.getParent()).getChildAt(index).findViewById(R.id.childdata);
strcolor = selectcolor(colorview);
}
});
}
listContainer.addView(mainlayout);
listContainer.requestLayout();
} catch (Exception e) {
e.printStackTrace();
}
}
private void openDateDialogtoSelectDate(View v1) {
try {
Calendar c = Calendar.getInstance();
dialog = new DatePickerDialog(this, datePickerListener, year, month, day);
dialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
dialog.show();
} catch (Exception e) {
e.printStackTrace();
}
}
public DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
year = selectedYear;
month = selectedMonth;
day = selectedDay;
tv = (TextView) v1.findViewById(R.id.txtDate);
tv.setText(new StringBuilder().append(day).append("-")
.append((month + 1)).append("-").append(year)
.append(" "));
}
}
nicht sicher zu verwenden, was Sie brauchen – firegloves
Ich brauche auf der Schaltfläche jede Ansicht Wert von jeder Listenansicht row.Understood klicken Sie auf Speicher. – Rims