2015-01-03 60 views
-1

您好我有自定義列表視圖與textview和edittext.When我點擊添加行按鈕顯示在這裏列表視圖中的一行輸入文本,然後再次單擊添加按鈕顯示另一行像這樣finaly點擊保存按鈕同時獲得textview和從listview編輯文本值。Listview Cellinsertion 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和設置在每個點擊的適配器,我建議你徹底清除列表視圖。如下所示,以編程方式在每次點擊時添加一個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; 
     } 

} 

你應該叫adapter.notifyDataSetChanged()方法之前調用SetImageArray。每次將某些東西插入到已分配的適配器時,都不需要設置適配器。

希望這有助於...