androidgridview监听
Ⅰ gridview焦点与item,android的Gridview中怎样获取几点的每一个
1
我设置的gridview的item是textview和edittext两部分组成,
然后一开始在gridadapter(override baseadapter)中设定的:
edittext.setfocusable(true);
edittext.requestfocus();
2
而要求改成点击item edittext就可以获取焦点,之前我在activity里面onitemclick直接没有写,现在要写的话,需要改动以下几个地方:
在gridviewitem的xml文件里,对edittext的设置
android:focusable="false"android:focusableInTouchMode="false"
3
然后再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); }
} });
Ⅱ android gridview的监听事件不起作用啊
gridView事件处理不了,那说明代码写的有问题了。
1.关于Android事件构成
在Android中,事件主要包括点按、长按、拖拽、滑动等,点按又包括单击和双击,另外还包括单指操作和多指操作。所有这些都构成了Android中的事件响应。总的来说,所有的事件都由如下三个部分作为基础:
1.按下(ACTION_DOWN)
2.移动(ACTION_MOVE)
3.抬起(ACTION_UP)
所有的操作事件首先必须执行的是按下操作(ACTIONDOWN),之后所有的操作都是以按下操作作为前提,当按下操作完成后,接下来可能是一段移动(ACTIONMOVE)然后抬起(ACTION_UP),或者是按下操作执行完成后没有移动就直接抬起。这一系列的动作在Android中都可以进行控制。
2.事件的处理API
在View和ViewGroup中都存在dispatchTouchEvent和onTouchEvent方法,但是在ViewGroup中还有一个onInterceptTouchEvent方法,在Android中,所有的事件都是从开始经过传递到完成事件的消费,这些方法的返回值就决定了某一事件是否是继续往下传,还是被拦截了,或是被消费了。
public boolean dispatchTouchEvent(MotionEvent event)
public boolean onTouchEvent(MotionEvent event)
public boolean onInterceptTouchEvent(MotionEvent event)
3.事件处理API的说明
dispatchTouchEvent方法用于事件的分发,Android中所有的事件都必须经过这个方法的分发,然后决定是自身消费当前事件还是继续往下分发给子控件处理。返回true表示不继续分发,事件没有被消费。返回false则继续往下分发,如果是ViewGroup则分发给onInterceptTouchEvent进行判断是否拦截该事件。
onTouchEvent方法用于事件的处理,返回true表示消费处理当前事件,返回false则不处理,交给子控件进行继续分发。
onInterceptTouchEvent是ViewGroup中才有的方法,View中没有,它的作用是负责事件的拦截,返回true的时候表示拦截当前事件,不继续往下分发,交给自身的onTouchEvent进行处理。返回false则不拦截,继续往下传。
Ⅲ Android开发 怎么在GridView的监听事件外获取子控件
可以自定义adpter,adpter里面的getView()方法里不是会初始化button吗,然后再直接调用该button的实例,button.setOnClickListener(),在其监听实践中处理你要处理的东东, public View getView(int position, View convertView, ViewGroup parent) { Button button = findViewById..... button.setOnClickListener(new OnClickListener() { public void onClick(View v) { //处理事件 } }); }
Ⅳ android gridview中会放button组件后,怎样加button的侦听事件
你在哪儿添加Button的就在哪儿添加监听事件。
Ⅳ android的gridview 事件监听报错
你的item没有获取到,item为NULL。然后在下面你用item.get方法就报空指针异常了。
Ⅵ 如何设置 android gridview 怎么设置 , 一些item可以点击,另外.....
这个要在代码中进行设置,基本上有两种方式:
在GridView所在的 activity(或者fragment)中, 找到该View,监听点击事件:
java">gridView.setOnItemClickListener(newAdapterView.OnItemClickListener(){
@Override
publicvoidonItemClick(AdapterView<?>parent,Viewview,intposition,longid){
//点击item触发,进行判断,如果需要处理点击,就进行处理,否则,什么也不做
if(/*处理点击条件*/){
//要做的事
}
}
});在自己写的GridView对应的适配器中(一般继承于BaseAdapter)的getView中进行判断,如果是需呀处理的item, 就调用setOnClickListener,并定义相应的点击事件,否则可以不绑定点击事件。