2015-03-03 180 views
-2

我有一個自定義適配器,其中每行有2個佈局,每個佈局都有TextView。現在我怎樣才能得到用戶點擊的行的文本。Listview自定義適配器單擊

+1

你有什麼到目前爲止已經試過? – 2015-03-03 11:14:36

+0

將點擊偵聽器單獨設置爲佈局。 – 2015-03-03 11:15:11

+0

我在1row中有2lay,所以我可以有n個行數 – Hii 2015-03-03 11:19:04

回答

0

您可以獲取點擊的位置,然後從文本數組中獲取該位置的值/文本。

e.g您的數組名稱是 String[] titles = {"Zero", "One", "Two", "Three", "Four"};

因此,當用戶點擊,你會得到它的位置,並根據從onItemClickListener值在ListView的項目。所以你可以取這個值(int)並且這樣做。

String textClicked = titles[position]; //它將返回存儲在該位置的文本。

如果您仍然有疑問,請在下面留言,我會幫助您。

OR

在自定義適配器,你可以這樣做:

public class MyAdapter extends ArrayAdapter<String> { 

String[] titles = same as mentioned above.. Let it be the String which you will get as the title of the each row of ListView 

public View getView(int position, View convertView, ViewGroup parent) { 
View view = super.getView(position, convertView, parent); 
Log.d("title", titles[position]); // It will log the text of that clicked position. now you can use it in Toast, TextView etc... 
    } 

    return view; 
} 
+0

下面的回答中所描述的那樣,我在1row中有2lay,所以我可以有n個行 – Hii 2015-03-03 11:19:00

+0

是的,但是當您實現OnItemClickListener時,則必須重寫onClick方法...並且您將獲得被點擊的項目。您可以在您在ListView中膨脹的數據的字符串數組中傳遞該位置。你在那裏給你的文本...它有多少關係你在ListView中有多少行或組件。您只需傳遞正確的字符串數組名稱 – shivamDev 2015-03-03 11:21:34

+0

爲了您的理解又增加了1個示例。這是我最後的評論,因爲您沒有提供任何代碼,也沒有迴應您提供的任何幫助。 – shivamDev 2015-03-03 12:38:57

相關問題