2013-08-01 10 views
12

Tôi gặp vấn đề ở đây. Nó trông đơn giản và tôi tiếp tục tìm kiếm giải pháp của nó. Thật không may, tôi không thể tìm thấy bất cứ điều gì. Đây là vấn đề của tôi .... Những gì tôi đang cố gắng làm là để có được chuỗi cho thấy trong listview từ một phương pháp Click vào mục.Làm cách nào để truy xuất chuỗi được nhấp từ một chế độ xem danh sách bằng cách sử dụng OnItemClick?

Đây là listview của tôi:

- lol 
- hi 
- waw 

Khi tôi bấm vào nút "lol" tôi muốn để có được những "lol" chuỗi .....

gì tôi nên đặt trong mã của tôi ở đây? :

lv = (ListView) findViewById(R.id.list_view); 
lv.setOnItemClickListener(new OnItemClickListener() 
{ 
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) 
{ 
    // Intent newI = new Intent(this,PDetail.class); 
    Intent newI = new Intent (Create.this, PDetail.class); 
    //String sd = ((() arg1).getText()).toString(); 
    //newI.putExtra("x", arg2); 
    startActivity (newI); 
    // db.getList(arg3); 

}}); 
+0

Bạn nên đăng các mã mà thực sự populates ListView – fiddler

+0

gì loại bộ điều hợp bạn đang sử dụng? nó là một adapter tùy chỉnh –

+0

tôi đã biết làm thế nào để làm điều đó ..... @ user2012, njzk2, karan23 đã cho tôi câu trả lời những gì tôi cần. Nhưng, cảm ơn sự chú ý của bạn. –

Trả lời

25
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) 
    { 
     String data=(String)arg0.getItemAtPosition(arg2); 


    }}); 

data chứa dữ liệu vị trí nhấp của bạn. Làm những gì bạn muốn làm với điều đó.

+1

tôi sẽ có nhiều đầu vào .... không chỉ là ba. tôi không thể xác định chúng như thế từng cái một ..... tôi cần một cái gì đó linh hoạt hơn và phổ quát –

+0

Đó không phải là một giải pháp ... –

+1

@CharlesLynch: xem câu trả lời đã chỉnh sửa của tôi. –

2

Thông số arg1 của người nghe là chế độ xem của mục được nhấp.

Giả sử rằng các mục của ListView của bạn là TextViews bạn có thể thử:

String itemText = ((TextView) arg1).getText(); 
+0

Làm thế nào tôi có thể làm điều đó ???? tôi không có bất kỳ textview .... –

1

sử dụng chuỗi val = (String) arg0.getItemAtPosition (arg2)

+0

cảm ơn cho câu trả lời .. tôi thực sự đánh giá cao nó –

4

arg0AdapterView của bạn, thường là một ListView. arg2 là vị trí trong ListView. Bạn có thể nhận được các mục từ Adaptor của bạn:

Object item = arg0.getItemAtPosition(arg2); 

Tùy thuộc vào loại đối tượng của bạn trong bộ chuyển đổi của bạn, một giải pháp tầm thường là:

String value = item.toString(); 
+0

Cảm ơn, tôi đánh giá cao câu trả lời của bạn. –

Các vấn đề liên quan