2012-12-10 54 views
0

我正在使用自定義陣列適配器來顯示某些產品的列表。在列表視圖中有兩個文本視圖和一個編輯文本。當我點擊它來輸入數值時,編輯文本會聚焦在多個文本字段中。使用自定義陣列適配器的android中的Edittext

我沒有得到實際的問題。嘗試它,因爲好幾天 請幫我。

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" > 

    <TextView 
     android:id="@+id/txtBP" 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     android:gravity="center_vertical|center_horizontal" 
     android:textColor="#000000" 
     android:textSize="15sp" /> 


    <TextView 
     android:id="@+id/txtMRP" 
     android:layout_width="match_parent"`enter code here` 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     android:gravity="center_vertical|center_horizontal" 
     android:textColor="#000000" 
     android:textSize="15sp" /> 


    <EditText 
     android:id="@+id/qty" 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     android:gravity="center_vertical|center_horizontal" 
     android:hint="@string/texthint" 
     android:inputType="number" 
     android:maxLength="3" /> 

    </LinearLayout> 


package com.example.order; 

import android.app.Activity; 
import android.content.Context; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.BaseAdapter; 
import android.widget.EditText; 
import android.widget.TextView; 

    public class ModifiedAdapter extends BaseAdapter{ 

    Context context; 
    int layoutResourceId; 
    Order data[] = null;`enter code here` 

    public ModifiedAdapter(Context context, int layoutResourceId, Order[] data) { 
     this.layoutResourceId = layoutResourceId; 
     this.context = context; 
     this.data = data; 
    } 



    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     // View row = convertView; 
     OrderHolder holder = null; 

     if(convertView == null) 
     { 
      LayoutInflater inflater = ((Activity)context).getLayoutInflater(); 
      convertView = inflater.inflate(layoutResourceId, parent, false); 

      holder = new OrderHolder(); 
      holder.txtBP = (TextView)convertView.findViewById(R.id.txtBP); 
      holder.txtMRP = (TextView)convertView.findViewById(R.id.txtMRP); 
      holder.qty = (EditText)convertView.findViewById(R.id.qty); 

      convertView.setTag(holder); 
     } 
     else 
     { 
      holder = (OrderHolder)convertView.getTag(); 
     } 

     Order order = data[position]; 
     holder.txtBP.setText(order.BP); 
     holder.txtMRP.setText(order.MRP); 

     Log.d("data count : ", ""+getCount()); 

     return convertView; 
    } 


@Override 
public int getCount() { 
    // TODO Auto-generated method stub 
    return data.length; 
} 

@Override 
public Object getItem(int arg0) { 
    // TODO Auto-generated method stub 
    return arg0; 
} 

@Override 
public long getItemId(int arg0) { 
    // TODO Auto-generated method stub 
    return arg0; 
} 


static class OrderHolder 
{ 
    TextView txtMRP; 
    TextView txtBP; 
    EditText qty; 
} 


} 

上面所說的是XML和適配器我使用:) 而且我沒有得到任何錯誤。

+0

粘貼相關代碼和錯誤或異常,你正面臨着... :) – AndroidLearner

+0

粘貼您的**自定義陣列適配器**代碼 –

+0

發佈您的自定義adpter代碼和列表行xml –

回答

0

代替你的XML和檢查,讓我知道

<TextView 
    android:id="@+id/txtBP" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:gravity="center_vertical|center_horizontal" 
    android:textColor="#000000" 
    android:textSize="15sp" /> 

<TextView 
    android:id="@+id/txtMRP" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:gravity="center_vertical|center_horizontal" 
    android:textColor="#000000" 
    android:textSize="15sp" /> 

<LinearLayout 
    android:id="@+id/qtyLayout" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:focusable="true" 
    android:focusableInTouchMode="true" 
    android:gravity="center_vertical|center_horizontal" > 

    <EditText 
     android:id="@+id/qty" 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:gravity="center_vertical|center_horizontal" 
     android:hint="@string/texthint" 
     android:inputType="number" 
     android:maxLength="3" /> 
</LinearLayout> 

+0

同一問題。如果我在一個編輯文本中輸入值,則相同的值將被輸入到下一個編輯或其他內容中。而一旦你觸摸並拖動屏幕值將被替換爲其他一些編輯文本 – prakash

+0

任何答案的朋友??? – prakash

相關問題