android gridview 怎么在适配器中设置不可选择项
2个回答
展开全部
我设置的gridview的item是textview和edittext两部分组成,
然后一开始在gridadapter(override baseadapter)中设定的:
edittext.setfocusable(true);
edittext.requestfocus();
而要求改成点击item edittext就可以获取焦点,之前我在activity里面onitemclick直接没有写,现在要写的话,需要改动以下几个地方:
在gridviewitem的xml文件里,对edittext的设置
android:focusable="false"android:focusableInTouchMode="false"
然后再gridview的activity里面,给griditem添加上监听事件:
gridView.setOnItemClickListener(new OnItemClickListener() { @Override
public void onItemClick(AdapterView parent, View view,
int position, long id)
{ EditText edittext = (EditText) view.findViewById(R.id.grid_edittext);
edittext.setFocusable(true); edittext.setFocusableInTouchMode(true);
if (edittext.requestFocus())
{
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(edittext, InputMethodManager.SHOW_IMPLICIT); }
} });
然后一开始在gridadapter(override baseadapter)中设定的:
edittext.setfocusable(true);
edittext.requestfocus();
而要求改成点击item edittext就可以获取焦点,之前我在activity里面onitemclick直接没有写,现在要写的话,需要改动以下几个地方:
在gridviewitem的xml文件里,对edittext的设置
android:focusable="false"android:focusableInTouchMode="false"
然后再gridview的activity里面,给griditem添加上监听事件:
gridView.setOnItemClickListener(new OnItemClickListener() { @Override
public void onItemClick(AdapterView parent, View view,
int position, long id)
{ EditText edittext = (EditText) view.findViewById(R.id.grid_edittext);
edittext.setFocusable(true); edittext.setFocusableInTouchMode(true);
if (edittext.requestFocus())
{
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(edittext, InputMethodManager.SHOW_IMPLICIT); }
} });
2017-10-18
展开全部
xxxAdapter.notifyDataSetChanged();重新刷新view。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询