Skip to content Skip to sidebar Skip to footer

EditText And Buttons In ListView Android

I have created custom ListView which is having two TextViews, Two Buttons and one EditText, My problem is: 1) Edit text is loosing control even after adding android:descendantFocus

Solution 1:

I suggest try to implement custom listview for this we create a adapter in which we will create two layouts

Layout1)

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

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" >
</ListView>
</RelativeLayout>

Layout2)

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

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="TextView" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="16dp"
    android:text="TextView" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/textView2"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:layout_toRightOf="@+id/textView1"
    android:ems="10" >

    <requestFocus />
</EditText>

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button1"
    android:layout_alignBottom="@+id/button1"
    android:layout_alignParentRight="true"
    android:text="Button" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/textView2"
    android:layout_marginTop="29dp"
    android:text="Button" />

 </RelativeLayout>

And in .java class create a custom adapter for listview Test.java)

    public class Testttt extends Activity {
     ListView listView;
     CustomAdapter adapter;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.direction);
    findId();
    executionMethod();
   }

 private void findId() {
    listView = (ListView) findViewById(R.id.listView1);
    adapter = new CustomAdapter(this);
  }

 private void executionMethod() {
    listView.setAdapter(adapter);

 }

 class CustomAdapter extends BaseAdapter {
    public CustomAdapter(Context convertView) {

    }

    @Override
    public int getCount() {

        return 0;
    }

    @Override
    public Object getItem(int position) {

        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) {
        LayoutInflater inflater = LayoutInflater
                .from(getApplicationContext());
        View view = inflater.inflate(R.layout.qwerty, null);
        Button btn1 = (Button) view.findViewById(R.id.button1);
        Button btn2 = (Button) view.findViewById(R.id.button2);
        EditText edt = (EditText) view.findViewById(R.id.editText1);

        return view;
    }

   }

  }

It should be note that in customadapter class you can set functionality in particular item according to your requirement


Solution 2:

In your manifest file add android:windowSoftInputMode="stateHidden|adjustPan" under activity tag in which you have made list view


Post a Comment for "EditText And Buttons In ListView Android"