It seems like you have had a problem with this before: Android controlP5 button issue - #12 by jafal
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:
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: