2011-04-05 116 views
1

我在Android中有一個GridView,並且我在使用內置的重寫方法getView的BaseAdapter類中創建TextView來填充它。最初創建的TextView的onClick方法沒有實現,但執行了按下的意義。但是當我實現TextView的onClick時,它執行onClick操作,但按下的感覺已經消失。Android中的GridView內可點擊的TextView

有沒有一種方法,即使使用onClick實現的方法,我也可以感受到按下的TextView的工作原理?

感謝

更新 喜的人,返回假的沒有工作就說明編譯錯誤。我所試圖做的是somiething這樣的:裏面的BaseAdapter來填充GridView的

public View getView(int position, View convertView, ViewGroup parent) { 
    TextView v; 
    if(convertView == null){ 
     v = new TextView(); 
    }else{ 
     v = (TextView) convertView; 
    } 
} 

此時TextView的可集中並具有點擊查看感。 但是,如果我實現onClickListener這樣,我可以執行的操作,但按視圖(或集中)的感覺消失了:

view.setOnClickListener(new View.OnClickListener() { 
     @Override 
      public void onClick(View v) { 
       deleteHour(mapDays.get(day)); 
      } 
     }); 

我可以看到,有在GridView的onClick事件,另一個在TextView中。我認爲當我在TextView中實現onClick方法時,它會禁用GridView中的onClick。

也許問題是,如何讓TextView點擊時改變TextView的狀態?你有什麼想法嗎?

非常感謝回覆!

+0

你的意思是說你想讓textview仍然有焦點嗎? – 2011-04-05 13:26:31

+0

我沒有得到popint,但也許你只需要在onClickListener結尾返回false?這是應該啓用其他監聽器的執行 – 2red13 2011-04-05 13:31:34

+0

是的,我希望textview仍然有焦點!這就對了@Zack! @ 2red13我會嘗試在onClickListener()的末尾返回false!如果它有效,我會回到這裏告訴你!非常感謝! – mlecar 2011-04-05 13:43:17

回答

4

我做到了!

,我發現的方法是重寫GridView控件的setOnItemClickListener這樣的:

gridview.setOnItemClickListener(new OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) { 
} 

我希望這可以幫助有同樣問題的人!

謝謝!