Android inputType使项目不可单击

Android inputType使项目不可单击,android,android-layout,Android,Android Layout,我有一个列表视图,其中每个项目都有一个复杂的布局,在某个点上包含一个文本视图,带有android:inputType=“text”和android:ellipsize=“marquee”。我的问题是,inputType=“text”会导致整个listview项目无法点击。我试过: android:genderantfocusability=“blocksDescendants”在项目的最顶部布局上 android:focusable=“false”在TextView本身上 android:fo

我有一个
列表视图
,其中每个项目都有一个复杂的布局,在某个点上包含一个
文本视图
,带有
android:inputType=“text”
android:ellipsize=“marquee”
。我的问题是,
inputType=“text”
会导致整个listview项目无法点击。我试过:

  • android:genderantfocusability=“blocksDescendants”
    在项目的最顶部布局上
  • android:focusable=“false”在
    TextView
    本身上
  • android:focusableInTouchMode=“false”在
    TextView
    本身上
  • android:clickable=“false”
    TextView
    本身上
  • TextView
    本身上的android:editable=“false”
什么都没用

我之所以在
TextView
上使用
android:inputType=“text”
,是因为它变成了单行,而且
android:ellipsize=“marquee”
实际上可以工作。我已经完成了我的家庭作业:

  • android:singleLine
    已被弃用*
  • android:lines=“1”
    ,如建议的那样,不起作用,文本仍然换行,您只是看不到第二行,因此不会出现字幕效果

*还是这样?Eclipse中我的Ctrl+Space是关于android:singleLine(强调我的):

将文本约束为单个水平滚动行,而不是 让它环绕在多行上,提高焦点而不是 按enter键时插入换行。*已弃用: 此属性已弃用,并由textMultiLine替换 inputType属性中的标志。更改时要小心 现有布局,因为SingleLine的默认值为false(多个)- 行模式),但如果为inputType指定任何值,则默认值为 是单线模式。(如果同时具有单线和输入类型属性 如果找到,inputType标志将覆盖的值 单线)。[布尔值]

但是,不要说任何反对意见


这里发生了什么?

不确定我是否完全理解您的需求,但是如果我理解了,这里是我用于列表项的代码(左侧有图像,右侧有文本,文本限制为两行,并使用省略号功能):


如果您需要1行限制,可能尝试使用<代码> Android:MaxLe=“1”< /C> > /P> < P>只要不提及<代码> SunLayLe>/Cord>,我就不这么认为了。它一定是SDK中的一个bug。只要文档中没有标记为已弃用,我将使用

singleLine
,直到有一个完全有效的、未弃用的替代方案。

实际上,在该属性中,常量已弃用

然而(如上所述),这是矛盾的。在查看相关方法时,设置singleLine属性相当于:

myTextView.setTransformationMethod(new SingleLineTransformationMethod());

这也不是不赞成的。这就是我如何绕过这种不赞成的态度。

这似乎不起作用,字幕效果不可见(就像
lines=“1”
一样)。此外,
inputType=“textMultiLine”
使整个项目不可浏览,就像
inputType=“text”
。我也有同样的问题……退一步就是使用不推荐的android:singleline,但我很想看看如何在不使用它的情况下实现这一点。
myTextView.setTransformationMethod(new SingleLineTransformationMethod());