从listview中的一组视图中选择文本

时间:2015-01-20 14:47:08

标签: android listview selection

是否有可能实现这一目标? 例如:我们有listView有20个项目,每个项目都有一些文本。用户想要从项目1中选择一半结束文本,并选择另一项项目文本的一半(与webView或可选textView中相同的行为)。有人想过这个功能吗?我应该在哪里搜索解决方案?

将在找到解决方案时更新此主题。

PS。我知道你会说"首先向我们展示代码"。我还没有。

4 个答案:

答案 0 :(得分:1)

在项目列表视图中点击这样的监听器代码

lv.setOnItemClickListener(new OnItemClickListener(){
 @Override 
public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3)
{


            // TODO Auto-generated method stub
            TextView tv;
            String text_from_tv, finalText;
             tv= (TextView) view.findViewById(R.id.textview_id);
             text_from_tv = tv.getText();
            if(!firstPartSelected)
              finalText += text_from_tv.substring(0,text_from_tv.length()/2);
            else
             finalText += text_from_tv.substring(text_from_tv.length()/2,text_from_tv.length());

           //Save this finalText String to any string array and use those values

       }
    });

并且该字符串数组包含所选单词的后半部分,如果有用的话可以投票给答案!!

答案 1 :(得分:0)

在列表视图的list_item.xml中。您需要为同一项目设置android:textIsSelectable="true"并设置android:clickable="true"

答案 2 :(得分:0)

我不会给出任何代码,我会怎么做:

boolean firstPartSelected false;
String finalText ="";

// ListView Definition

// OnItemClickListener
OnItemClick(...){
    if(!firstPartSelected)
        finalText += TextFromItem.substring(0,TextFromItem.length()/2)
    else
        finalText += TextFromItem.substring(TextFromItem.length()/2,TextFromItem.length())
}

这不是一些真正的代码,只是一个如何实现它的想法。那是你想要的吗?

答案 3 :(得分:0)

尝试处理OnFocusChangeListener EditText,当焦点发生变化时,使用跨度(Android: Coloring part of a string using TextView.setText()?)在EditText中选择文字颜色。如果您有大量的EditText,则可以对每个view.setTag(etNumber)使用(Integer)view.getTag()EditText,并在循环中连接输出字符串时使用此信息(查找更多信息{{3 }})

P.S。 EditText是[{1}}的继承人,您可以使用TextView来处理TextView