2017-07-31 45 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) { 

     } 
    }); 
相關問題