Android 如何通过onclick禁用gridView单元格?
我正在努力使网格视图中单击的按钮被禁用。这是我的密码;我正在使用自定义网格适配器Android 如何通过onclick禁用gridView单元格?,android,eclipse,gridview,Android,Eclipse,Gridview,我正在努力使网格视图中单击的按钮被禁用。这是我的密码;我正在使用自定义网格适配器 public class MainActivity extends Activity { private GridView gridView; private final String[] items = new String[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
public class MainActivity extends Activity {
private GridView gridView;
private final String[] items = new String[] { "A", "B", "C", "D", "E", "F",
"G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S",
"T", "U", "V", "W", "X", "Y", "Z" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView = (GridView) this.findViewById(R.id.myGridView);
CustomGridAdapter gridAdapter = new CustomGridAdapter(
MainActivity.this, items);
gridView.setAdapter(gridAdapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(getApplicationContext(),
(CharSequence) gridView.getItemAtPosition(position),
Toast.LENGTH_SHORT).show();
gridView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//已单击网格列表项,请查找按钮
Button Button=(Button)convertView.findViewById(R.id.grid\u项);
//关闭按钮
按钮。设置启用(错误);
Toast.makeText(getApplicationContext(),
(CharSequence)gridView.getItemAtPosition(位置),
吐司。长度(短)。show();
您希望何时禁用按钮?单击按钮后?还是单击网格列表项后?单击按钮后,只是不确定如何以网格列表格式执行此操作
public class CustomGridAdapter extends BaseAdapter {
private Context context;
private String[] items;
LayoutInflater inflater;
public CustomGridAdapter(Context context, String[] items) {
this.context = context;
this.items = items;
inflater = (LayoutInflater) this.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = inflater.inflate(R.layout.cell, null);
}
Button button = (Button) convertView.findViewById(R.id.grid_item);
button.setText(items[position]);
return convertView;
}
@Override
public int getCount() {
return items.length;
}
/**
* Returns the letter of the pushed button
*/
@Override
public Object getItem(int position) {
return items[position];
}
/**
* Returns the position in the gridview
*/
@Override
public long getItemId(int position) {
return position;
}
}
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// grid list item was clicked, find the button
Button button = (Button) convertView.findViewById(R.id.grid_item);
// turn button off
button.setEnabled(false);
Toast.makeText(getApplicationContext(),
(CharSequence) gridView.getItemAtPosition(position),
Toast.LENGTH_SHORT).show();