如何让TextView后面的java textlayoutt响应Click事件

android如何让TextView后面的Layout响应Click事件?-android100学习网
android如何让TextView后面的Layout响应Click事件?
有一个Layout(LinearLayout或者RelativeLayout)作为背景,他有一个TextView作为子元素,当点击TextView控件时,想让它所在的Layout响应。这个问题其实有两个解决方法:1、在TextView中声明&TextView android:...
有一个Layout(LinearLayout或者RelativeLayout)作为背景,他有一个TextView作为子元素,当点击TextView控件时,想让它所在的Layout响应。这个问题其实有两个解决方法:
1、在TextView中声明
&&TextView
&&&&&&&&&&&&&&& android:id=&@+id/my_recent_voice_edit&
&&&&&&&&&&&&&&& android:layout_width=&148.3dp&
&&&&&&&&&&&&&&& android:layout_height=&wrap_content&
&&&&&&&&&&&&&&& android:duplicateParentState=&true&
&&&&&&&&&&&&&&& android:gravity=&center&
&&&&&&&&&&&&&&& android:text=&@string/voice_recent_btn_text&
&&&&&&&&&&&&&&& android:textColor=&@color/update_voice_recent&
&&&&&&&&&&&&&&& android:color=&#666666&
&&&&&&&&&&&&&&& android:layout_marginBottom=&1dp&
&&&&&&&&&&&&&&& android:clickable=&true&
&&&&&&&&&&&&&&& android:textSize=&12sp& /&
在它的父Layout中声明clickable为true。
2、屏蔽Layout的子元素获取焦点。这种方法
&LinearLayout
&&&&&&&&&&& android:id=&@+id/voice_recent_edit_layout&
&&&&&&&&&&& android:layout_width=&193.3dp&
&&&&&&&&&&& android:layout_height=&wrap_content&
&&&&&&&&&&& android:layout_marginLeft=&33dp&
&&&&&&&&&&& android:layout_marginRight=&33dp&
&&&&&&&&&&& android:background=&@drawable/recent_voice_bg&
&&&&&&&&&&& android:clickable=&true&
&&&&&&&&&&& android:descendantFocusability=&blocksDescendants&
&&&&&&&&&&& android:gravity=&center_vertical&
&&&&&&&&&&& android:visibility=&gone& &
这两种方法虽然都可以达到同样的效果,但他们还是有区别的。其中最重要的一点就是后一种方法中不能为TextView指定selector了;还有一个比较奇怪的区别就是:使用第一种方法判断长按事件有时候会失效,而第二种方法判断长按事件效果很好。#(新人求助!!关于循环设置click事件的问题!!)#
我在后台写了一个循环,目的是把前台的几个LinearLayout分别设置click点击事件,每一个LinearLayout都有不同的信息,通过传输不同的信息,在新的页面里加载不同的视频。
可是,按照我的代码来运行的话,运行能成功,但是所有的LinearLayout的点击事件跳转都是根据最后一个LinearLayout的信息跳转,也就是说,最后一个的点击事件把前面的全部覆盖了。
所以,所有的LinearLayout都会跳转到同一个页面(页面信息来自最后一个LinearLayout)。请问,有什么方法可以有效解决这个覆盖添加的问题吗?
恳请大家帮我!!谢谢!!!!
代码如下:
for(int&x=1;x&&&15;x++)
String[]&java=getVideoJSON(&&,&&Java技术&,x);
if(java[0]==&&)
linearlo=(LinearLayout)this.findViewById(javaa[x]);
llo=(LinearLayout)this.findViewById(javafjxa[x]);
linearlo.setVisibility(View.VISIBLE);
llo.setVisibility(View.VISIBLE);
RVID=java[4];
RTheme=java[0];
Rprice=java[1];
RPic=(&http://192.168.1.112:8001/&&+&java[2].toString()).toString();
Rpeople=java[3];
linearlo.setOnClickListener(new&OnClickListener()&{
public&void&onClick(View&v)&{
//&TODO&Auto-generated&method&stub
Intent&intent&=&new&Intent(item_java.this,&videoplayer.class);
Bundle&bundle&=&new&Bundle();
bundle.putString(&VID&,&RVID);
bundle.putString(&Vtheme&,&RTheme);
bundle.putString(&Vprice&,&Rprice);
bundle.putString(&Vpeople&,&Rpeople);
bundle.putString(&Vpic&,&RPic);
intent.putExtras(bundle);
startActivity(intent);
loadImage((&http://192.168.1.112:8001/&&+&java[2].toString()).toString()&,javapica[x]);
tvtext=(TextView)this.findViewById(javatexta[x]);
tvjiage=(TextView)this.findViewById(javajiagea[x]);
tvid=(TextView)this.findViewById(javaida[x]);
tvtext.setText(java[0].toString());
tvjiage.setText((java[1].toString()+&元&).toString());
tvid.setText(java[4].toString());
------解决方案--------------------
你设置的&监听器&就是一个啊&&所有的布局&都是设置的这个&监听器,&&都跳转到&videoplayer.class&这个界面&
linearlo.setOnClickListener(new&OnClickListener()&{
&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&@Override
&&&&&&&&&&&&&&&&&&&&public&void&onClick(View&v)&{
&&&&&&&&&&&&&&&&&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&Intent&intent&=&new&Intent(item_java.this,&videoplayer.class);
&&&&&&&&&&&&&&&&&&&&&&&&Bundle&bundle&=&new&Bundle();
&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&bundle.putString(&VID&,&RVID);
&&&&&&&&&&&&&&&&&&&&&&&&bundle.putString(&Vtheme&,&RTheme);
&&&&&&&&&&&&&&&&&&&&&&&&bundle.putString(&Vprice&,&Rprice);
&&&&&&&&&&&&&&&&&&&&&&&&bundle.putString(&Vpeople&,&Rpeople);
&&&&&&&&&&&&&&&&&&&&&&&&bundle.putString(&Vpic&,&RPic);
&&&&&&&&&&&&&&&&&&&&&&&&intent.putExtras(bundle);
&&&&&&&&&&&&&&&&&&&&&&&&startActivity(intent);&&&
&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&});
新人求助,关于ViewPager里图片点击事件的问题 刚学Android想边做东西边学,想实现一个手机图片浏览器。
请问怎么在ViewPager里的图片设置点击监听,当单击图片后返回到GridView?
另外,PagerAdaptr方法里instantiateItem方法里传入参数Position是什么。我Debug的时候发现position每次都不一样,但是最后显示结果不影响。
【新人求助】关于访问网络存储的问题 packagecom.web.
importjava.io.BufferedInputS
importjava.io.InputS
importjava.net.URL;&nb
新人请教一个关于Objective-c的语法问题 实在不知道这个问题应该提在哪,反正跟IOS有关反正就先放这吧,如果有问题,请版主劳神给挪下。
问题:在学Ovjective-c的基础教程这本书,但是看了大部分,语法中始终有一个地方不太懂,身边又没人可以请教,在这请各位前辈帮忙指点一下。 #import&Cocoa/Cocoa.h&
@class Tire @class Engine
新人求助! nullpointerexception 的问题!
本帖最后由 kstg312476 于
12:20:18 编辑
刚弄android遇这问题,一上午都没搞定,希望有经验的坛友帮忙看看java层有哪里出错了。
先贴出代码,log在后面。
//VideoDemo.java-----------------------
新人求助:关于listview 使用SimpleCursorAdapter问题 由于刚接触Android,小白一个,遇到了一个问题,已经在网上查了好久,也模仿改了好久,但始终运行不粗来,来请各位大神帮忙~
oncreate函数:
protectedvoidonCreate(Bundle
新人,有问题求助 又要花费分了,就快没有了,为什么我的main.xml只有layout选项框显示,却没有graphicallayout呢?
------解决方案-------------------- 有可能是adt版本的问题我遇过换了就可以
------解决方案--------------------
Quote: 引用:
有可能是adt版
新人问一个简单的问题,有关网络超时的 我是新手,这两天做了做了一个学院新闻的客户端,但也发现了一些问题,有时候学校的服务器会停止维护,有时候会网络连接超时,出现这些情况时,我想让程序提示用户,而不是强制退出,怎么解决? newThread()
publicvoidrun()
关于点击事件的问题求助。
packagecom.suice.
importandroid.app.A importandroid.os.B importandroid.view.V importandroid.widget.B
publicclass&nbsp
新人求助:UINavigationBar 的backbarButtonItem问题。 这两天在自定义backbarButtonItem的操作上遇到很多问题,
刚开始是想给backbarButtonItem替换掉系统的图片,由于直接修改无效,只能先创建一个UIBarButtonItem,然后 赋值给self.navigationItem.backbarButtonItem。
关于 java 的CLASSPATH设置问题
以下内容转载自 Sun关于CLASSPATH设置的中文说明文档:
使用 CLASSPATH 环境变量
一般用户将想要使用 -classpath命令行选项。下面将介绍如何设置 CLASSPATH 环境变量或清除以前安装遗留下的设置。 设置 CLASSPATH 在 DOS 提示符下,可用 set&nb
再问关于如何设置根据屏幕大小设置布局高度的问题 刚发了个关于设置屏幕大小的问题,但是没有说清楚,在这里再描述下。
ViewPager里边添加了4个fragment,每个fragment显示一个listview的内容。
继承Baseadapter。在getview()里边
AbsListView.LayoutParamslp&nbsp
请教一下关于android的事件分发机制的问题! 现在我有一个这样的需求,两个布局上下的(framelayout)。怎么让上面的获取焦点(不对上面那一层布局文件进行控制),而下面的不获取呢?
我用事件分发机制,试了一试不行,不知道是我设置的不对还是怎么的?
求大家指导指导!!谢谢!!!!
下面是我的布局文件
&?xmlversion=&1.0&&nb
关于android的事件分发问题,会的进! 网上找的所有资料都说,如果dispatchTouchEvent返回true,就会调用该view的onTouchEvent方法,问题是这样,我重写了一个listView类如下
privateclassMyListViewextendsListView{ privatebooleani
请问关于如何设置根据屏幕大小设置布局高度的问题 请问,如何在代码中设置布局的高度。
比如说通过以下代码获取屏幕高度后:
DisplayMetricsdm=newDisplayMetrics();
新人请教:一个很费解的问题, MainActivity在退出时调用onDestroy方法
publicvoidonDestroy(){
super.onDestroy();
if(mBluetoothReceiver!=null){
unregisterReceiver(mBlue
【新人学习】Handler 两个构造函数冲突的问题
staticclassUpdateBarHandlerextendsHandler{ //弱引用 privatefinalWeakReference&PBarDisplay&mA
新人求救:CursorLoader与ListView显示不同步的问题 RT.我通过ContentPravider添加一条记录到书籍库中。可是ListView的UI界面去没有同步显示出新添加的记录。怎么回事??
------解决方案--------------------
问题解决了: 增删数据后要加上getContext().getContentResolv
新人刚刚接触android 虚拟机的配置问题。。
该装的都有了吧??为什么cpu那一栏还是不行
------解决思路---------------------- image没有下载,虚拟机需要对应的image才能运行的,你下的image是androidwear的image。
关于IntentService的问题 我在onHandleIntent里写了个死循环...
然后启动这个服务..
然后在&正在运行的服务&里,把他强制关闭后..
在logcat里还是看到这个服务在运行..有日志打出..
这是怎么回事..怎样才能彻底关掉这个服务呢
------解决方案-------------------- IntentSe
关于触摸屏触摸事件的一些问题 大家好,最近学习android写个程序,遇到问题:
activity中有ontouch监听程序,触摸屏幕会读取坐标值。当坐标值满足要求时弹出一个对话框ok或ng,但是点击确定的时候无响应。
对话框使用 newAlertDialog.Builder(Content()) &nb
关于按钮事件中执行Dialog报错的问题 代码如下:
publicvoidonClick(Viewv){
//清空个人信息
if(v==sp_voice_lib_import){
Dialogdialog=newAlertDialog.Builder(this)
请问关于添加 textview 点击事件报错的问题 请问当添加textview点击事件的时候出现以下错误,麻烦会的朋友帮忙回答下,先谢啦。(如果可以的话,麻烦具体点吧)
protectedvoidonCreate(Bundlesa
关于google地图的问题
//初始化地图组件,设置显示主要道路的卫星地图,且有缩放控制 SupportMapFragmentfm=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map); gmap=fm.getMa
有关于mediaplayer的问题 本人菜鸟今天在写一个简单的视频播放器的时候遇到了一个问题就是运行程序的时候总是无法播放视频LogCat里报错是Unabletocreatemediaplayer
下面是代码
packagecom.
Intent页面传值的问题新人求罩 1.第一个页面的代码
intcounts=10;
Intentit=newIntent(MainActivity.this,TwoActivity.class);
it.putExtra(&counts&,counts);
startActivity(it);
2.第二个页面的取出第一个页面的c
关于android应用退出的问题
看到很多关于应用退出的问题,今天在这里为大家简单总结一下,如果说的不对还望大家见谅。 方法一:System.exit(0) 和android.os.Process.killProcess(android.os.Process.myPid()),我想很多人都尝试过,当关 闭多个Activity的时候这两个方法根本不起作用,原因当然和Activity的堆栈管理有关
关于phonegap的问题 我的产品列表中有输入框,当这个产品列表达到很大的量的时候(其实只要超过50个)我手指激活输入框获取焦点的响应速度就特别慢,经测试和input框的多少有关系,我一个产品包含两个输入框,30个产品的时候可以,超过30个产品就不行了,我减少到每个产品一个输入框测试,又可以达到60个产品以上才反应慢,请问高手有没有可以优化的办法?
------解决方案
关于企业账号打包APP的问题 真机调试等一直是我头晕的问题。
首先我想问不越狱的情况下,(背景,企业版账号)如果iphoneipad设备没有添加到,那想真机调试该如何做?与用开发证书和发布证书有关吗?
还有就是我怎样才能打包一个IPA来让任何一台苹果设备都能用itools安装呢??
------解决方案-----------------
关于android背景设置问题
本帖最后由 Silence_night 于
10:28:39 编辑
如图,黑色框为手机界面,顶部空白是通知栏,红色框为图片壁纸,主布局为RelativeLayout,我想背景不留白居中显示(背景图片高或宽有可能比主布局高宽短),应该如何弄,请大神赐教
------解决思路---------------------- http://b
关于安卓界面Graphical layout设置的问题!!!!!!!! 最近公司有需求要做安卓下的APP,刚开始接触安卓,感觉它的界面设计好无力啊,如下图所示
在左边选择一个imageview的控件,拖动到Graphicallayout中,要想直接用鼠标拖动改变imageview控件的大小,怎么拖都不行,在苹果跟WINDOWS的VC下面就太容易,直接拖,直接改变大小
关于SQLiteOpenHelper的问题 继承SQLiteOpenHelper的类onCreate()方法加上db.close(),会导致后续对数据库的操作出现databasenotopen错误,这是为什么?
为什么之后对数据库的操作要关闭数据库,两者之间的数据库关闭有什么不同?
publicvoidonCreate(SQLiteDataba
关于SharedPreferences的问题 自己做的小程序,用SharedPreferences来实现城市切换的功能,在more.java里面将数据存入,line.java里面取出数据。toast显示more里面存入了,但是line里面没有得到值。代码如下,求大神解惑~~!
------解决方案-------------------- Editor&nb
关于TabBar的问题 xcode里有两个控件 Tab Bar Controller和Tab Bar 我现在想要把Tab Bar置顶 但是Tab Bar Controller好像不能置顶 然后我用Tab Bar做,问题又出现了 不能增加条目 ps.我是菜鸟,我直接用IB做的 所以很多功能不会 还请各位大虾指教 顺便可以说说这俩控件的区别与联系
------解决方案---------------
关于Fragment的问题 在用Fragment+TabHost制作分页,遇到了一个问题。
主Activity(继承自FragmentActivity的类)中TabHost的监听器如下:
TabHost.OnTabChangeListenertabChangeListener=newTabHost.OnTabChangeListener()&n
关于学习的问题 假设android刚出来,那时候没有出书,也没有教学视频,那开发人员是如何学习的,希望能详细点
------解决方案-------------------- 去看下sdk/guide/components/index.html这里是个很好的入口,会教你一些简单的de
关于Category的问题 我应用category语法写了一个小程序,但xcode报错.
NSString+reverse.h
#import&Cocoa/Cocoa.h&
@interfaceNSString(reverse) -(NSString*)reverse();
NSString+re
SwipeRefreshLayout的设置问题 SwipeRefreshLayout这个控件能设置成开源的actionbar-pulltorefresh那样的效果吗?比如进度条,SwipeRefreshLayout的进度条是从中间往外扩散的,actionbar-pulltorefresh进度条是从左往右的那种,还有actionbar界面的变化,拉下来会差生变化,求指点。
------解决方案--
关于getDisplayMessageBody的问题
本帖最后由 skevil 于
16:50:59 编辑
我现在是想通过getDisplayMessageBody获取短信内容,然后截取其中的内容进行相应的显示,但是我发现很神奇的问题
Stringcheckstatic=currentMessage.getDisplayMessageBody();
循环使用dialog问题 代码如下
for(inti=0;i&3;i++){
li_test++;
ls_test=li_test+&&;
alertDialog.setTitle(ls_test)
关于spinner的问题
两个spinner(店面--货架)相互关联,数据从webservice获取,选择店面,获取对应的货架号,代码只能在初始化的时候正确运行一次,再次选择店面spinner的item时,出现下面的警告错误(API17):
Attemptedtofinishaninputeventbut&n如何捕获Android文本中链接点击事件?
核心提示:相信很多开发人员都用过强悍的TextView。我们不仅可以为其设置纯文本内容,还可以设置包含网址和email地址的内容,并且可实现让这些链接可以点击。那么问题来了,我们可以捕...
在Android开发中,相信很多开发人员都用过强悍的TextView。我们不仅可以为其设置纯文本内容,还可以设置包含网址和email地址的内容,并且可实现让这些链接可以点击。
那么问题来了,我们可以捕获Android文本中的这些链接点击事件吗?当然可以,下面我们就来聊聊怎么实现在Android TextView中捕获链接的点击事件。
1、关键实现
在AndroidTextView中捕获链接的点击事件实现原理,就是将所有的URL设置成ClickSpan,然后在它的onClick事件中加入你想要的控制逻辑,比如:
private void setLinkClickable(final SpannableStringBuilderclickableHtmlBuilder,
final URLSpan urlSpan) {
int start= clickableHtmlBuilder.getSpanStart(urlSpan);
int end =clickableHtmlBuilder.getSpanEnd(urlSpan);
int flags= clickableHtmlBuilder.getSpanFlags(urlSpan);
ClickableSpan clickableSpan = new ClickableSpan() {
public void onClick(View view) {
//Do something with URL here.
clickableHtmlBuilder.setSpan(clickableSpan, start, end, flags);
private CharSequence getClickableHtml(String html) {
SpannedspannedHtml = Html.fromHtml(html);
SpannableStringBuilder clickableHtmlBuilder = newSpannableStringBuilder(spannedHtml);
URLSpan[]urls = clickableHtmlBuilder.getSpans(0, spannedHtml.length(),URLSpan.class);
for(finalURLSpan span : urls) {
setLinkClickable(clickableHtmlBuilder, span);
returnclickableHtmlB
2、如何使用
TextView myTextView =(TextView)findViewById(R.id.myTextView);
String url =
This is a page with lots ofURLs. &/&
This left is a very good blog. There are so many great blogsthere. You can find what
you want in that blog.
The Next L
myTextView.setText(getClickableHtml(url));
3、实现控制
我们需要在ClickSpan的onClick方法中加入自己的控制逻辑,比如我们使用傲游浏览器打开点击的链接。
public void onClick(View view) {
Log.i(LOGTAG,
onClick url=
+urlSpan.getURL() );
Intentintent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(urlSpan.getURL()));
intent.setPackage( com.mx.browser );
startActivity(intent);
4、注意事项
最后,不要忘了设置TextView的autoLink属性设置。
android:layout_width= wrap_content
android:layout_height= wrap_content
android:text= @string/hello_world
android:id= @+id/myTextView
android:autoLink= web
以上就是Android开发中,捕获文本中链接点击事件的基本方法,看似比较复杂,尝试在自己的代码中实现以下,一切就会变得豁然开朗起来。如何在TextView中的部分文字上响应-中国学网-中国IT综合门户网站
> 信息中心 >
如何在TextView中的部分文字上响应
来源:互联网 发表时间: 1:57:16 责任编辑:王亮字体:
为了帮助网友解决“如何在TextView中的部分文字上响应”相关的问题,中国学网通过互联网对“如何在TextView中的部分文字上响应”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:如何在TextView中的部分文字上响应点击事件,具体解决方案如下:解决方案1:
@Override public void onCreate(Bundle savedInstanceState) { super.show(); &#47.setText(H tv. setContentView(R.URLS. class ).LENGTH_LONG)! &&lt.ClickableSpan.u&& URLSpan[] urls = sp. if (text instanceof Spannable){ int end = } tv.com/&u&&lt.tv); String htmlLinkText= &quot://www。package com, & /" target="_blank"> import android.&quot您好; SpannableStringBuilder style = new SpannableStringBuilder(text).setText(style).text.main).SPAN_EXCLUSIVE_EXCLUSIVE); import android.&lt.getText(),S import android.getSpanEnd(url)./&如若满意; TODO Auto-generated method stub Toast.setMovementMethod(LinkMovementM import android.Context.fromHtml(htmlLinkText)).&quot.clearSpans();a&gt. /" target="_blank"> public class TextHtml extends Activity { /&#47.&u&* * Called when the activ&lt. +& private TextView tv.onCreate(savedInstanceState),T tv = (TextView) findViewById(R;a href=&#92.TextView.widget.LinkMovementMethod.T MyURLSpan(String url) { mUrl = url.Bundle. import android.Activity,请点击右侧【采纳答案】,很高兴为您解答.makeText( } } private static class MyURLSpan extends ClickableSpan{ private String mU } @Override public void onClick(View widget) { &#47./ .getInstance()).S/ CharSequence text = tv.Html
1个回答1个回答1个回答1个回答1个回答2个回答1个回答1个回答4个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号

我要回帖

更多关于 textview.layout 的文章

 

随机推荐