fragment中40多个textview 点击事件添加。 textviewfragment点击事件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试过把点击事件public void ball——onclick 移动到activity,还是报一样的错 ball?是redBall吧xml文件的onClick事件命名要和activity里的一模一样 要是写demo的话用这种方式省事,但是可读性不强,因为在xml里面定义的点击事件。android:onClick="redBall"而在程序里面实现的话public void redBall(View view){ //点击事件}如果在fragment中不行的话,就放在Activity中试试 放在activity里可行。但是我通过((TextView) view).getText() 报空指针 就是不知道有什么简便的方法给fragment 里的40个textview添加点击事件fragment.class里用findViewById再添加监听是可以完成。但是这样要创建40个textview 40个textview?如果是链表型可以用listview来代替。或者格子布局可以用gridview 不知道为什么会有这么多textView还不用listView来作,在adapter中直接setOnClickListener就可以了。问题是楼主不贴代码,无能为力了 谢谢8楼的思路,我用了GridView 来完成这个功能,用自定义适配器,给每个item加了一个TextView。------------------------------------------------------------------------------------不过现在又遇到一个问题: 先说下这个activity 结构 activity 中有个fragment ,fragment 中加了GridView,GridView的item为 一个TextView(itemTextView) 现在我activity 上有一个textView1,想要每次点击itemTextView ,textView1 的text变为被选中的itemTextView。 比如 我选中了itemTextView 1 2 3 textView1 显示 “1 2 3”ps我的想法:1、应该在GridView的adapter 中定义一个list ,itemTextView点击事件中list.add()然后把这个list传给activity。 那用什么方式传? activity怎么接收? 2、可以直接在adapter 中修改 textView1 的text么? 3、其他更好的方法? 1.fragment和activity通信做个回调就ok了2.adapter中也可以修改textView,当然 要在ui线程中修改view 反复看了半天才看懂你的意思:你就是想,点击GridView中相应的item的,把相应的值传值显示在不同控件上?首先,不管是ListView还是GridVie都是通过adapter把数据源塞给控件,显示在UI上的.GridView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3) { } });onItemClick方法中的参数int position item索引,long arg3是点击位置。可以通过这两个参数找到你定位你的数据源,比如是一个map.get(position );把数据取出来,有了相应数据,直接获取你activity的view实例,塞值就OK了。至于,你说的怎么给activity传值,没有这种说法,又不是在线程里。拿到view实例,直接操作UI组件就可以。 补充一下,没注意你在fragment中,fragment和activity 通信用callback。 1.fragment和activity通信做个回调就ok了2.adapter中也可以修改textView,当然 要在ui线程中修改view回掉是,在fragment写接口,activity实现? 我是这样的,GridView 中被点击过的itemTextView字体会变黄,再次点击会变回黑色。fragment 怎么获得GridView 中字体变黄的那些itemTextView的值。然后给activity。 能说的具体一点么,应为我不是点击item响应时间,而是点击item里的textview响应时间,那么textView响应时间是写在adapter里的。adapter应该不能跳过fragment 去修改activity吧。能说一下具体在 activity fragment 和adapter 中做得事情么 功能已经实现了,在adapter里定义了接口,并且itemtextView的onclick 时间里执行。fragment里实现接口(写上具体刷新ui的代码,getactivity()方法获得view),注册到adapter里。 说实话 说的什么完全没看清 讲的不怎么详细 在fragment 我一般用onclick来处理 不一个一个的写 继承Textview,在里面实现点击的逻辑。 求分析一小段代码 run() 如何根据不同的网络选择不同的字符串 WebView如何实现复制功能 ? [Android]如何把多帧MJPEG保存成AVI格式 Cell 与rat 请教Android TCP连接PC 百度地图SDK3.0 代码混淆后 地图功能不能正常使用 也不报错 SlidingMenu和appcompat_v7之间的冲突 eclipse工具出现问题 ImageView 在 Scrollview 里面 拖动会变形 关于应用适配高分辨率的出现的oom问题 大家开发时用模拟器还是连接到真机调试
xml文件的onClick事件命名要和activity里的一模一样
android:onClick="redBall"
而在程序里面实现的话
public void redBall(View view){
//点击事件
}如果在fragment中不行的话,就放在Activity中试试
fragment.class里用findViewById再添加监听是可以完成。但是这样要创建40个textview
或者格子布局可以用gridview
问题是楼主不贴代码,无能为力了
------------------------------------------------------------------------------------
不过现在又遇到一个问题:
先说下这个activity 结构
activity 中有个fragment ,fragment 中加了GridView,GridView的item为 一个TextView(itemTextView)
现在我activity 上有一个textView1,想要每次点击itemTextView ,textView1 的text变为被选中的itemTextView。
比如 我选中了itemTextView 1 2 3 textView1 显示 “1 2 3”ps我的想法:1、应该在GridView的adapter 中定义一个list ,itemTextView点击事件中list.add()然后把这个list传给activity。 那用什么方式传? activity怎么接收?
2、可以直接在adapter 中修改 textView1 的text么?
3、其他更好的方法?
2.adapter中也可以修改textView,当然 要在ui线程中修改view
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,int position,
long arg3) {
}
});onItemClick方法中的参数int position item索引,long arg3是点击位置。可以通过这两个参数找到你定位你的数据源,比如是一个map.get(position );把数据取出来,有了相应数据,直接获取你activity的view实例,塞值就OK了。至于,你说的怎么给activity传值,没有这种说法,又不是在线程里。拿到view实例,直接操作UI组件就可以。
2.adapter中也可以修改textView,当然 要在ui线程中修改view回掉是,在fragment写接口,activity实现?
我是这样的,GridView 中被点击过的itemTextView字体会变黄,再次点击会变回黑色。
fragment 怎么获得GridView 中字体变黄的那些itemTextView的值。然后给activity。
能说一下具体在 activity fragment 和adapter 中做得事情么
fragment里实现接口(写上具体刷新ui的代码,getactivity()方法获得view),注册到adapter里。