为啥我无法显示已单击列表视图?如何让展示成为可能?

Posted

技术标签:

【中文标题】为啥我无法显示已单击列表视图?如何让展示成为可能?【英文标题】:Why I am not able to show that the List view is clicked? How to make it possible to show?为什么我无法显示已单击列表视图?如何让展示成为可能? 【发布时间】:2012-01-02 18:14:19 【问题描述】:

在我的应用程序中,我使用此代码显示带有部分的列表视图。 但是通过这种方式,我无法获得要选择的 listItem 。我的意思是当我要按下任何列表项时,我看不到 chang 颜色。那么如何使这段代码成为可能:

    public static ProgressDialog  m_progressDialog; 
    public Map<String,?> createItem(String title, String caption)    
        Map<String,String> item = new HashMap<String,String>();   
        item.put(ITEM_TITLE, title);   
       item.put(ITEM_CAPTION, caption);   
        return item;   
       

    @Override  
    public void onCreate(Bundle icicle)    
        super.onCreate(icicle);  
        setContentView(R.layout.main);

        // create our list and custom adapter   
        SeparatedListAdapter adapter = new SeparatedListAdapter(this);   
        adapter.addSection("Local documents:", new ArrayAdapter<String>(this,   
            R.layout.list_item, new String[]  "WindowsONE Mobile PK", "WindowsorONE Moldings","Filet for a burger video" ));
        adapter.addSection("Non-local resources:", new ArrayAdapter<String>(this,   
                R.layout.list_item, new String[]  "Launch Photo slideshow link", "Dealer locator link" ));
        adapter.addSection("Send emails:", new ArrayAdapter<String>(this,   
                R.layout.list_item, new String[]  "Send Dealer Locator email", "Send Catalog email","Send install instrucation link" )); 
        //For extra Information in Listview    
        //adapter.addSection("Non-local resources:", new SimpleAdapter(this, security, R.layout.list_complex,   
        //new String[]  ITEM_TITLE, ITEM_CAPTION , new int[]  R.id.list_complex_title, R.id.list_complex_caption ));        
        ListView list = getListView();
        list.setAdapter(adapter);   
        list.setTextFilterEnabled(true);
        list.setOnItemClickListener(this); 

【问题讨论】:

我想我必须使用 Customadapter 或图像适配器。但我很困惑如何为这个静态值实现它。那么请任何朋友帮我为这段代码实现它吗? 【参考方案1】:

你可以为你的列表视图定义一个触摸监听器,你可以像这样显示触摸

 ListView.setOnTouchListener(List_onTouch);

添加一个名为 List_onTouch 的触摸列表器

    OnTouchListener List_onTouch=new OnTouchListener()
@Override
public boolean onTouch(View arg0,MotionEvent arg1)
    int iAction=arg1.getAction();
    if(iAction==0)
        ls2.setBackgroundcolor(Color.white);
    
    else
 ls2.setBackgroundcolor(Color.orange);     
   
    return false;

;

ls2 是您的 listViewObject,如果您单击列表,它会将您的颜色更改为橙​​色

【讨论】:

@iDroidExplorer 你能发布你的代码吗?【参考方案2】:

试试这个

getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);

【讨论】:

以上是关于为啥我无法显示已单击列表视图?如何让展示成为可能?的主要内容,如果未能解决你的问题,请参考以下文章

如何在单击另一个视图(即按钮)时突出显示自定义列表视图

如何在按钮单击 FLUTTER 上刷新列表小部件数据

为啥我在关闭视图控制器后无法显示我的 Facebook 插页式广告?

为啥下载的软件不能安装显示安装包已损坏

单击列表视图时如何显示警报对话框

单击列表视图时如何显示警报对话框