2017-07-31 125 views
0

我创建了4个textviews,在其中存储字符串。其中一个有一个链接的字符串,它是隐藏的。这些被ListAdaptor添加到ListView中。在运行时,它看起来像这样。点击获取邻近Textview的文本

Activity

我需要能够隐藏的TextView中使用的文字,当我点击相邻的TextView。我为Textview设置了一个onClick适配器来点击。我怎样才能获得隐藏的邻居文本视图中的文本?我试过使用标签,但概念正在逃避我。

我的布局资源:list_item.xml(修整):

<TextView 
android:id="@+id/title"   
android:onClick="onClick" 
android:tag="name" 
/> 

<TextView 
android:id="@+id/hash"  
android:visibility="gone" 
/> 

<TextView 
android:id="@+id/size"   
/> 

<TextView 
android:id="@+id/link" 
android:tag="link"  
android:visibility="gone" 
/> 

活动布局:activity_main.xmlFull Code

<RelativeLayout> 
    <ListView android:id="@+id/list"/> 
</RelativeLayout> 

Activity code部分:

public class MainActivity extends AppCompatActivity { 

    public void onClick(View v) { 
     String Msg = ((TextView) v).getText().toString(); 
//  TextView txtTitle = (TextView) v.getTag(); 
//  String Me = (String) v.getTag(); 

//  TextView txtlink = (TextView)v.getTag("link"); 
     String Me = txtlink.getText().toString(); 
       Toast.makeText(MainActivity.this, "CLICKED" + Msg + Me, 
       Toast.LENGTH_LONG).show(); 
    } 

当我点击ID为标题TextView的,我需要的TextView的id为链接的文本。

这是我如何创建ListView控件:

lv = (ListView) findViewById(R.id.list); 
ListAdapter adapter = new SimpleAdapter(
    MainActivity.this, showList, 
    R.layout.list_item, new String[]{"title", "url", "hash", 
    "size"}, new int[]{R.id.title, R.id.link,R.id.hash, R.id.size}); 

lv.setAdapter(adapter); 

全码: MainActivity

+0

你在哪里使用txtlink?在哪个XML中有txtlink – Rahul

+0

@Rahul在list_item.xml中。 – Droidzone

+1

好吧,你正在初始化它 – Rahul

回答

1

添加OnItemSelectedListener和代码和XML文件中删除您的onClick方法。

lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      Toast.makeText(MainActivity.this, showList.get(position), Toast.LENGTH_SHORT).show(); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 
相关问题