2016-04-11 18 views
0

diyelim ki bir öğe listemiz var ve bu öğelerin her biri ile bir form oluşturmak istiyorum. Bu form iki onay kutusu ve bir editText içerir. Örneğin, her bir ürünün bir depoda ve miktarında mevcut olup olmadığını bilmek istiyorum. Listemdeki her öğenin bir öğenin, iki onay kutusunun ve bir editText öğesinin yer alacağı bir liste görünümü kullanmak için sorunumu çözmeyi düşünüyorum.
Sorun şu ki, liste listesinin tek listesini kullanmak için bildiğim tek listenin kullanımı, sorunumu onunla nasıl çözmüyorum (android için yeni bir başlangıç ​​yapıyorum). Birisi bana yardım edebilir mi?
Sorunumu çözmenin başka bir yolu var mı?
Teşekkür ederizHer bir öğe için editText ve onay kutusu ile Android liste görünümü

+0

Benzer bir sorun var. lütfen şu adrese göz atın >> http://stackoverflow.com/questions/8166497/custom-adapter-for-list-view –

+0

Çözümünüz burada: http://www.webplusandroid.com/creating-listview-with-edittext -and-textwatcher-in-android/ –

cevap

0

Bir cusom ListView bağdaştırıcısı kullanmaya çalışın! Bu düşündüğünüzden daha kolay!

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Test TEST" /> 

<LinearLayout android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_alignBottom="@id/itemTextView" 
    android:layout_alignParentRight="true"> 
    <CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/doneCheckBox" /> 
</LinearLayout> 

Sonra kod içindeki cusom uygulamanıza:

Öncelikle listedeki her öğeyi temsil edecek ediyorum düzen oluşturmak gerekir

public CusomAdapter(Context mainContex, YourItems<SomeItem> someItems) { 
    this.mainContex = mainContex; 
    this.someItems = someItems; 
} 

@Override 
public int getCount() { 
    return someItems.size(); 
} 

@Override 
public Object getItem(int position) { 
    return someItems.get(position); 
} 

@Override 
public long getItemId(int position) { 
    return position; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 


    View item = convertView; 
    if (item == null) { 
     item = LayoutInflater.from(mainContex).inflate(R.layout.shoplist_item, null); // your listView layout here! 
    } 

    //fill listView item with your data here! 
    //initiate your check box 
    CheckBox doneCheckBox = (CheckBox)item.findViewById(R.id.doneCheckBox); 

    //add a checkbox listener 
    doneCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     if(isChecked){ 
      doneCheckBox.ischecked=true; 
     } 
     else{ 
      doneCheckBox.ischecked=false; 
     } 
    } 
}); 

    return item; 
} 

ListView eleman eklemeyi unutmayın Etkinlik düzeninizin içinde!

+0

Bu sorunu çözmeyecek. –

+0

, bir onay kutusu dinleyicisi olmadan bir çözümünü, ancak bir TextWatcher ile povided. –