私はグリッドビューを使用しており、各正方形のビューは相対的なレイアウトです。相対レイアウトに edittext またはボタンがある場合、onitemclicklistener は機能しません。
edittext やボタンを使用せずに onclicklistener をテストしたところ、動作したため、アダプターの問題ではありません。
編集テキストとボタンで機能させるにはどうすればよいですか?
アイテムレイアウト
<ImageView
android:id="@+id/ivcustom1"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/selectexcercise" />
<TextView
android:id="@+id/tvcustomsets1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/ivcustom1"
android:textColor="#3498db"
android:text="Sets:" />
<TextView
android:id="@+id/tvcustomreps1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/tvcustomsets1"
android:textColor="#3498db"
android:text="Reps:" />
<EditText
android:id="@+id/etcustom2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tvcustomreps1"
android:layout_alignBottom="@+id/tvcustomreps1"
android:layout_alignRight="@+id/ivcustom1"
android:background="@android:color/transparent"
android:hint="Enter Reps"
android:textColor="#3498db"
android:inputType="number"
android:maxLength="6"
android:textSize="12sp" >
</EditText>
<EditText
android:id="@+id/etcustom1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tvcustomsets1"
android:layout_alignBottom="@+id/tvcustomsets1"
android:layout_alignLeft="@+id/etcustom2"
android:background="@android:color/transparent"
android:hint="Enter Sets"
android:textColor="#3498db"
android:inputType="number"
android:maxLength="6"
android:textSize="12sp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignBottom="@+id/ivcustom1"
android:layout_alignRight="@+id/etcustom1"
android:background="#3498db" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="23dp"
android:layout_alignLeft="@+id/tvcustomreps1"
android:layout_alignRight="@+id/etcustom1"
android:layout_below="@+id/tvcustomreps1"
android:background="@drawable/stretchesclicked"
android:text="Note"
android:textColor="#FFFFFF"
android:textSize="14sp" />
</RelativeLayout>
念のため、ここに onitemclicklistener があります
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
System.out.println("The position is" + position);
}
});
そしてアダプター
public class CustomWorkoutAdapter extends BaseAdapter {
private Context mContext;
public CustomWorkoutAdapter(Context c) {
mContext = c;
}
public int getCount() {
return rList.size();
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
// create a new ImageView for each item referenced by the Adapter
public View getView(final int position, View convertView,
ViewGroup parent) {
RelativeLayout RL = rList.get(position);
return RL;
}
}