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,並定義相應的點擊事件,否則可以不綁定點擊事件。