为啥我无法显示已单击列表视图?如何让展示成为可能?
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);
【讨论】:
以上是关于为啥我无法显示已单击列表视图?如何让展示成为可能?的主要内容,如果未能解决你的问题,请参考以下文章