android edittext动态列表

时间:2014-04-29 09:36:34

标签: android listview android-edittext dynamic-list

listview.Edittext焦点缺失的每个和单个edittext的settingText问题。enter image description here。检查上面的图像是否有自定义键盘,我需要在按下键盘按钮时设置文本。下面是我的代码。我尝试了,但重点是其他一些edittext.Please帮助我。

private LayoutInflater mInflater;
   public ArrayList myItems = new ArrayList();
   List < HashMap < String, String >> painItems;
public MyAdapet()
{
     mInflater = (LayoutInflater)  getSystemService(Context.LAYOUT_INFLATER_SERVICE);
painItems = new ArrayList < HashMap < String, String >> ();
     HashMap < String, String > map = new HashMap < String, String > ();
for(int i=1;i<10;i++)
{

map.put("row_2", "Location Content");
map.put("row_3","Content");
map.put("row_4", "50");
map.put("row_5", "");
painItems.add(map);
}



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

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

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub

     if (convertView == null) {
         convertView = mInflater.inflate(R.layout.custom_xml, null);

     } else {

     }
     returnText = (EditText) convertView
             .findViewById(R.id.returnedit);
     returnText.setInputType(InputType.TYPE_NULL);
     //Fill EditText with the value you have in <span id="r774jm31_1" class="r774jm31">data source</span>


     //we need to update adapter once we finish with editing
     returnText.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

             listview.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
                returnText.requestFocus();

        }
    });

    return convertView;
}

我的Listxml:

<LinearLayout
android:layout_width="match_parent"
android:layout_height="250dp" >

      <ListView
                        android:id="@+id/listView1"
                        android:layout_width="match_parent"
                         android:descendantFocusability="afterDescendants"
android:focusable="false"
                        android:layout_height="wrap_content" >
                    </ListView>
                </LinearLayout>

我的自定义列表:

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

    <LinearLayout 
         android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#cfcfcf"
        android:gravity="center">
    <RelativeLayout 
     android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_weight="1"
      >
      <ImageView 
        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:src="@drawable/seq_bg"
         android:layout_centerInParent="true"


  />
<TextView
    android:id="@+id/sqlno"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
     android:layout_centerInParent="true"
    android:gravity="left"
    android:text="1"
    android:textColor="#000000"
    android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"
    android:textStyle="bold" />

</RelativeLayout>
    <TextView
         android:id="@+id/lcontent"
       android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="left"
        android:text="Location"
        android:textColor="#ffffff"
              android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"
        android:textStyle="bold" />

      <TextView
             android:id="@+id/addcontent"
       android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:gravity="left"
          android:text="Add Content"
          android:textColor="#ffffff"
                 android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"
          android:textStyle="bold" />

       <TextView 
              android:id="@+id/drop"
      android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="50"
    android:textColor="#ffffff"
         android:gravity="center"
    android:textStyle="bold"
         android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"
    android:layout_weight="1"
        />
        <EditText 
              android:id="@+id/returnedit"
         android:layout_width="0dp"
    android:layout_height="wrap_content"
         android:gravity="center"
    android:text="67"
    android:textColor="#000000"
    android:textStyle="bold"

           android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"

    android:layout_weight="1"
        />
        <Button 
             android:id="@+id/viewnotesButton"
         android:layout_width="0dp"
    android:layout_height="wrap_content"
         android:gravity="center"
    android:text="view Notes"
    android:textColor="#000000"
    android:textStyle="bold"
           android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"

    android:layout_weight="1"

            />
</LinearLayout>
</LinearLayout>

我自定义键盘的clicklisteners是这样的:

button0.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                returnText.setText(returnText.getText().toString()+"0");
                 MyAdapet.notifyDataSetChanged();
            }
        });
        button1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                returnText.setText(returnText.getText().toString()+"1");
                 MyAdapet.notifyDataSetChanged();
            }
        });

1 个答案:

答案 0 :(得分:0)

试试这段代码 -

 returnText.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

             listview.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
                returnText.requestFocus();
                  notifyDataSetChanged(); // for update adapter


        }
    });

希望这段代码可以帮助你!!! 如果它不起作用请告诉我,我会尽力帮助更多。