![](/img/trans.png)
[英]How to get the value of a Listview item which is clicked in android?
[英]In Android, how do you capture the text value of the item clicked in a ListView?
我要做的是將我點擊的項目的文本設置為myEditText。 不知道如何訪問ListView中的特定項目...
ListView myListView = (ListView)findViewById(R.id.myListView);
final EditText myEditText = (EditText)findViewById(R.id.myEditText);
...
myListView.setAdapter(aa);
myListView.setOnClickListener(new OnClickListener(){
public void onClick(View v){
myEditText.setText("You clicked something!");
}
});
我是新手,但最近做了這個,所以如果你能理解我的代碼片段,就像這樣:
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, array_of_something));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int arg2, long arg3) {
String item_clicked_on = (String)((TextView) view).getText();
}
});
也許這有幫助嗎?
不要做任何這些。 使用listview時,在onItemClickListener
設置它,它將為您提供被單擊的listitem的位置。
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
now position
是被點擊的listitem的位置。
把它放在你的onCreate
方法中。
ListView.setAdapter(new ArrayAdapter<String>(this, R.layout.list_items, ListViewArray));
這里list_item
是xml文件,它定義列表中項目的外觀,
相反,你也可以使用Android的內置布局,即“android.R.layout.simple_list_item_1”,你可以像這樣使用它,
ListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, ListViewArray));
現在當你點擊列表項時,像這樣處理(在onCreate
之外),
ListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//either use toast to show item text
Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
//else go to a new activity like this,
Intent intent = new Intent();
intent.setClass(view.getContext(), AnotherClass.class);
startActivity(intent);
} } );
單擊列表項時,您可以定義要在新活動中顯示的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.