# Dropdown Scrollable List needs two taps to open or select an item

**URL:** <https://discourse.processing.org/t/dropdown-scrollable-list-needs-two-taps-to-open-or-select-an-item/45700>\
**Category:** Processing for Android\
**Created:** [February 3, 2025, 12:51am UTC](https://discourse.processing.org/t/dropdown-scrollable-list-needs-two-taps-to-open-or-select-an-item/45700 "2025-02-03T00:51:01Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![svan](https://avatars.discourse-cdn.com/v4/letter/s/82dd89/32.png) [@svan](https://discourse.processing.org/u/svan)\
**Post date:** [February 3, 2025, 1:24am UTC](https://discourse.processing.org/t/dropdown-scrollable-list-needs-two-taps-to-open-or-select-an-item/45700/2 "2025-02-03T01:24:39Z")

</div>

It seems like you have had a problem with this before: [Android controlP5 button issue - #12 by jafal](https://discourse.processing.org/t/android-controlp5-button-issue/27001/12)  
If you just can’t use it then you may want to find an alternative: roll your own or use other android controls.  
**More complex alternative:**

```auto
import android.app.Activity;
import android.content.Context;
import android.widget.ListView;
import android.widget.TextView;
import android.view.View;
import android.view.Gravity;
import android.widget.LinearLayout;
import android.widget.FrameLayout;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.RelativeLayout;
import android.widget.ArrayAdapter;
import android.widget.AdapterView;
import android.R;

color WHITE = color(255, 255, 255);
Activity activity;
Context ctx;

void setup() {
 fullScreen();
 orientation(LANDSCAPE);    
  activity = this.getActivity();
  ctx = activity.getApplicationContext();
  runOnUiThread(new Runnable() {
    void run() {      
      listView(200, 300, 500, 800, WHITE, 26.0, Gravity.CENTER);
    }
  }
  );
}

void draw() {
 background(0,0,255);  

}

void listView(int x, int y, int w, int h, color txtColor, float txtSize, int alignment) {

  ListView listView = new ListView(ctx);
  listView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
  listView.setX(x);
  listView.setY(y);
  ViewGroup.LayoutParams params = listView.getLayoutParams();
  params.width = w;
  params.height = h;
  listView.setLayoutParams(params);

  String[] osArray = {"Android", "iOS", "WindowsMobile", "WebOS", "Ubuntu", "Mac OS"};
  ArrayAdapter adapter = new ArrayAdapter<String>(activity, android.R.layout.simple_list_item_1, android.R.id.text1, osArray) {
    @Override
      public View getView(int position, View convertView, ViewGroup parent) {
      TextView textView = (TextView) super.getView(position, convertView, parent);
      textView.setTextColor(txtColor);
      textView.setTextSize(txtSize);
      textView.setGravity(alignment);
      return textView;
    }
  };
  listView.setAdapter(adapter);
  listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
      println("position = ", position);
      println("item = ", listView.getItemAtPosition(position));
    }
  }
  );

  FrameLayout flayout = (FrameLayout)activity.findViewById(R.id.content);
  flayout.addView(listView);
}

```

**Another source you might be able to use:**

> **[GitHub - EmmanuelPil/Android-java-code-utilities-widgets-for-Processing-for-Android: Android code for Processing for Android](https://github.com/EmmanuelPil/Android-java-code-utilities-widgets-for-Processing-for-Android)**
>
> Android code for Processing for Android

---

_[View the full topic](https://discourse.processing.org/t/dropdown-scrollable-list-needs-two-taps-to-open-or-select-an-item/45700)._
