2015-01-03 7 views
-1

Привет, у меня есть пользовательский listview с textview и edittext.Когда я нажимаю кнопку добавления строки, показывайте одну строку в списке, введите текст и снова нажмите кнопку «Добавить», чтобы показать еще одну строку, такую ​​как кнопка окончательного нажатия кнопки, чтобы получить как текст, так и текст edittext значения из списка.Listview Cellinsertion in android

я уже пробовал

button = (Button) findViewById(R.id.button); 
    Movi = new String[] { "one", "two", "three", "four", "five", "six", 
      "seven", "eight", "nine" }; 
    dataList = (ListView) findViewById(R.id.list); 
    adapter = new CustomAdapter(CustomListView.this, R.layout.list, 
      imageArry); 
    // add data in contact image adapter 
    button.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      if (itemCount < Movi.length) { 
       imageArry.add(new Item(itemCount, Movi, text)); 
       dataList.setAdapter(adapter); 
       adapter.notifyDataSetChanged(); 
       itemCount++; 
      } 
     } 
    }); 

Ниже я добавить изображение enter image description here

ответ

1

Вместо использования Listview и настройки адаптера на каждом и каждый клике, я хотел бы предложить вам удалить Listview полностью. Добавьте TextView и EditText на каждом клике программно, следующим образом.

button = (Button) findViewById(R.id.button); 
// add data in contact image adapter 
button.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 

     if (itemCount < Movi.length) { 
      imageArry.add(new Item(itemCount, Movi, text)); 

      // Add TextView 
      TextView textView=new TextView(); 
      textView.setTex(imageArray[itemCount]); 
      // Add EditText 
      EditText editText=new EditText(); 

      // Add both to root layout 

      parentLayout.addView(textView); 
      parentLayout.addView(editText); 
      itemCount++; 
     } 
    } 
}); 

Где parentLayout - это корневая компоновка вашего действия, которую вы должны назначить в onCreate(). Например,

LinearLayout parentLayout = (LinearLayout) findViewById (R.id.parent_layout);

Надеюсь, это поможет.

+0

Спасибо за ваш ответ .... –

1

Всякий раз, когда вы добавляете новый элемент в imageArray, что введение должно быть отражено в классе CustomImageAdapter. Итак, добавив элемент в imageArray, присвойте этому свойству imageArray свойство CustomImageAdapter imageArray.

public Class CustomImageAdapter { 
    Context context; 
    int layoutId; 
    List<Item> imageArray; 

     public CustomImageAdapter(Context context, int layoutId, List<Item> imageArray) { 
      this.context = context; 
      this.layoutId = layoutId; 
      this.imageArray = imageArray; 
     } 
     public SetImageArray(List<Item> imageArray) { 
      this.imageArray = imageArray; 
     } 

} 

Вы должны позвонить SetImageArray перед вызовом adapter.notifyDataSetChanged() метод. Это необязательно для установки адаптера каждый раз, когда вы вставляете что-то в уже назначенный адаптер.

Надеется, что это помогает ...