簡體   English   中英

在Android中,如何捕獲在ListView中單擊的項目的文本值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM