2011-04-05 119 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) { 
} 

我希望这可以帮助有同样问题的人!

谢谢!