Ich habe eine benutzerdefinierte Liste mit einem OnItemClickListener und nur die untere Hälfte ist anklickbar. Die Liste verwendet einen ImageAdapter, der ArrayAdapter erweitert. Jede Reihe hat zwei ImageViews und einen Textview dieBenutzerdefinierte Liste: obere Hälfte nicht anklickbar
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
I gefolgt this tutorial folgende XML-Argumente verwenden und sogar versucht, die Textview und Image zu entfernen. Die Liste konnte nach dem Entfernen nicht mehr angeklickt werden.
Das ist mein mainActivity
public class ClickTestActivity extends ListActivity
{
String[] listItems={"alpha", "beta", "gamma", "delta", "epsilon"};
boolean[] listImages={true, false, true, false, true};
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setListAdapter(new ImageAdapter(this, R.layout.main, R.id.text1, R.id.image1, listItems, listImages));
getListView().setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(), "Test", Toast.LENGTH_SHORT).show();
}
});
}
}
und meine ImageAdapter
public class ImageAdapter extends ArrayAdapter
{
Activity context;
String[] items;
boolean[] arrows;
int layoutId;
int textId;
int imageId;
ImageAdapter(Activity context, int layoutId, int imageId, String[] items, boolean[] arrows)
{
super(context, layoutId, items);
this.context = context;
this.items = items;
this.arrows = arrows;
this.layoutId = layoutId;
this.textId = textId;
this.imageId = imageId;
}
public View getView(int pos, View convertView, ViewGroup parent)
{
LayoutInflater inflater=context.getLayoutInflater();
View row=inflater.inflate(layoutId, null);
TextView label=(TextView)row.findViewById(textId);
label.setText(items[pos]);
if (arrows[pos])
{
ImageView icon=(ImageView)row.findViewById(imageId);
icon.setImageResource(R.drawable.ic_launcher);
}
return(row);
}
}
und die main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layercontainer"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ffffff">
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:padding="10dp"
android:textSize="16sp"
android:textColor="#000000"
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"/>
<ImageView
android:id="@+id/image1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"/>
</RelativeLayout>
perfekt gearbeitet. Versucht so viel vorher:/ Vielen Dank – Seb