我有XML
两个ListView
,一个包含一个由选择查询(lv_cli
)填充的客户端列表,另一个包含选定的客户端的详细信息(lv_cli_det
)。我想lv_cli
在lv_cli_det
显示细节的同时让客户保持选中状态。
XML:
<ListView
android:id="@+id/cli_lista"
android:layout_width="512dp"
android:layout_height="wrap_content"
android:fadeScrollbars="false"
>
</ListView>
<ListView
android:id="@+id/cli_lista_det"
android:layout_width="512dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/cli_lista"
android:fadeScrollbars="false" >
</ListView>
Java:
Cursor cursor = db.rawQuery("Select NrCl||';'||Nome From Clientes", null);
final ListView t = (ListView)findViewById(R.id.cli_lista);
ArrayAdapter<String> myarrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, listItems);
t.setAdapter(myarrayAdapter);
final ListView td = (ListView)findViewById(R.id.cli_lista_detalhe);
final ArrayAdapter<String> myarrayAdapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, listItems2);
t.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String item = ((TextView)view).getText().toString();
String[] strArray = item.split("\\;");
cli.load(strArray[0].toString());
td.setAdapter(myarrayAdapter2);
listItems2.clear();
listItems2.add("Nome: " + cli.getNome());
listItems2.add("Morada: " + cli.getMorada());
listItems2.add("Localidade: " + cli.getLoca());
listItems2.add("Código Postal: " + cli.getCp());
listItems2.add("Pais: " + cli.getPais());
listItems2.add("Nif: " + cli.getNif());
listItems2.add("Tel: " + cli.getTel());
listItems2.add("Tlm: " + cli.getTlm());
listItems2.add("Tipo Preço: " + cli.getTipoPvn());
listItems2.add("Cond. Pagamento: " + cli.getCpg());
listItems2.add("Obs: " + cli.getObs());
td.setAdapter(myarrayAdapter2);
myarrayAdapter2.notifyDataSetChanged();
}
});
若要在按下时保持列表视图项目的颜色,请在列表视图项目布局中包括以下行:
android:background="@drawable/bg_key"
然后bg_key.xml
在这样的drawable
文件夹中定义:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:drawable="@color/pressed_color"/>
<item
android:drawable="@color/default_color" />
</selector>
最后,将此包含在你的中ListView onClickListener
:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,long arg3) {
view.setSelected(true);
... // Anything
}
});
这样,在任何时候都只能选择一项。你可以使用以下方式定义颜色值res/values/colors.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="pressed_color">#4d90fe</color>
<color name="default_color">#ffffff</color>
</resources>
在我的Android应用程序中,我有一个滑出式导航抽屉。当在导航抽屉中选择一个项目时,它将加载新片段并高亮显示您在导航抽屉中单击的项目。 我的问题是,在加载的新片段中,您可以单击该片段中的一个新项目,该项目将加载一个新片段,并且仍然保留导航抽屉。 在这种情况下,您不再位于导航抽屉中列出的片段上,但最后一个项目仍然高亮显示,然后无法再次单击返回。 当导航抽屉中的项目不是我的主要片段时,如何取消高亮显
我在我的应用程序中使用了可以在android工作室添加的抽屉菜单,我在导航抽屉中添加了一些菜单条目(参见代码块)。如果我按下第一个项目(nav_home)或第二个,导航抽屉会突出显示当前按下的项目。 如果我按下项目“nav_information”按钮或其他项目,则会打开新的(单击的)片段,并且看不到突出显示(主页或第二个项目仍突出显示) 很快,只有第一个项目在选定的项目上显示突出显示。 这是我处
我一直在制作一个可以在Android中使用ListView的应用程序,但我无法使所选(chacked)项具有不同的背景。我用的是CHOICE_MODE_SINGLE。到目前为止,我的代码是这样的: 我使用的列表视图: (inside layout.xml) 我在适配器中使用的TextView布局: (listItem.xml) 这是我添加适配器的地方: 我确信在单击时选中了正确的项,因为当我调用g
问题内容: 我在单选模式下设置了2个单独的列表框。当我从中选择一个项目时,它会突出显示,但是当我从中选择一个项目时,它会被突出显示,并且来自的项目会保持活动状态,但不会突出显示。如何同时突出显示两者? 问题答案: 简短答案:将每个列表框的属性设置为 Tkinter起源于X窗口系统。X有一个称为“选择”的概念,类似于系统剪贴板(更准确地说,剪贴板是“ PRIMARY”选择)。默认情况下,几个tkin
我使用gridview在我的gridview中选择多个项目(图像)。 我使用< code > MultiChoiceModeListener 来实现这一点,问题是选中的项目没有突出显示 选择器xml: 当我触摸一个项目时,它被蓝色覆盖(我认为这是因为我使用了< code > GridView . setdrawselectorontop(true);)...我一抬起手指,蓝色就消失了。 我希望选择
我有一个从内部存储器加载图像的回收器视图。我想在单击时突出显示所选项。我试了很多方法,但都不起作用。实际上,我需要的是,当我在Recycler视图中单击任何项目时,该项目必须进入我的ArrayList,它也应该突出显示,当我单击或说unselect时,它必须再次变为正常。以下是我的代码: 这是我的适配器类: