我有一个列表视图,我正在填充8列用户数据.用户可以选择启用自动刷新,这会导致ListView被清除并使用数据库中的最新数据重新填充.
问题是当项目被清除并重新填充时,可见区域会跳回到列表的顶部.因此,如果我正在查看2000年的第1000项,那么回到那个项目是非常不方便的.
基本上,我要问的是,如何获得当前的滚动距离(x和y),然后恢复它们?
我正在尝试以编程方式在ListView中的CheckedTextView项目上设置"android:checkMark"属性.运行我的应用程序时,我得到以下异常:
android.content.res.Resources$NotFoundException: Resource ID #0x101021a
Run Code Online (Sandbox Code Playgroud)
ID#0x101021a的资源对应于android.R.attr.listChoiceIndicatorMultiple,这正是我传递给CheckedTextView的值:
mCheckedTextView.setCheckMarkDrawable(android.R.attr.listChoiceIndicatorMultiple)
Run Code Online (Sandbox Code Playgroud)
这不是用Java做的吗?我尝试(并成功)从XML布局触发所需的行为:
<CheckedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:id="@android:id/text1" />
Run Code Online (Sandbox Code Playgroud)
问题是我在编译时不知道它应该是什么
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
Run Code Online (Sandbox Code Playgroud)
要么
android:checkMark="?android:attr/listChoiceIndicatorSingle"
Run Code Online (Sandbox Code Playgroud)
因此,我需要在运行时设置这些值.
我MultiSelect将listView 的属性设置为false,我正在尝试获取单个listViewItem.但可用的财产是SelectedItems.我一直在使用以下代码......
foreach (ListViewItem item in listView1.SelectedItems)
{
//do something with item.text or whatever
}
Run Code Online (Sandbox Code Playgroud)
因为我知道只会选择一个项目.这样做的正确方法是什么?
首先,我是WPF的新手.
我有这种风格为我的物品做好准备:
<Style x:Key="lvItemHover" TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
如何将这种风格赋予我的物品ListView?
我创建了一个Windows Phone 8.1运行时应用程序.
我正在使用ListView控件.
我想交替每个背景行颜色.
搜索后我发现此链接是之前的答案.
但这会给标记带来错误.一方面,没有'AlternationCount'属性.我假设这是因为它不是SilverLight而是RT?
如果有人可以给我发送链接,因为我正在寻找一个简单的例子.更好的是一个简单的代码示例将不胜感激.
我的页面中有一个弹出窗口,其中包含listview.我已经在一个单独的xml中创建了弹出窗口的设计,并在我的主页面上点击了一些按钮.弹出窗口具有列表视图,每行包含图像和文本视图.我无法在android 4.1中的listview中获得行选择,但它在5.0中工作.有人可以建议我解决方案吗?列表显示:
<ListView android:id="@+id/lstSites"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fastScrollEnabled="true"
android:layout_margin="5dp"
android:descendantFocusability="blocksDescendants"></ListView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
列表视图项目:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants"
android:focusable="false"
android:focusableInTouchMode="false">
<ImageView
android:id="@+id/thumbImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:focusable="false"
android:focusableInTouchMode="false"/>
<TextView
android:id="@+id/tvSite"
android:textSize="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="Name"
android:focusable="false"
android:focusableInTouchMode="false"/>
Run Code Online (Sandbox Code Playgroud)
添加行单击列表器:
lstSiteMenu = (ListView) popupView.findViewById(R.id.lstSites);
adapter = new MenuItemsAdapter(SiteActivity.this, arrMenu);
// Attach the adapter to a ListView
lstSiteMenu.setAdapter(adapter);
lstSiteMenu.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
final int position, long id) {
}
Run Code Online (Sandbox Code Playgroud) 如何更改Windows 10 UWP应用程序中ListView控件中项目的高度?
例如,在UWP中,以下内容不会使行高度为20.(WPF问题可能表明这一点,但它似乎不适用于UWP XAML):
<ListView x:Name="listView" IsItemClickEnabled="True">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Height" Value="20" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Height="20">
<TextBlock Text="{Binding Title}" TextWrapping="NoWrap" Foreground="White" Height="20"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Run Code Online (Sandbox Code Playgroud) 我正在使用SetWindowTheme和SendMessage使.net listview看起来像vista样式列表视图,但.net控件仍然在所选项目周围有一个虚线选择边框:

资源管理器列表视图中的所选项目周围没有该边框.我该如何删除它?
Windows资源管理器:

编辑:解决方案:
public static int MAKELONG(int wLow, int wHigh)
{
int low = (int)LOWORD(wLow);
short high = LOWORD(wHigh);
int product = 0x00010000 * (int)high;
int makeLong = (int)(low | product);
return makeLong;
}
SendMessage(olv.Handle, WM_CHANGEUISTATE, Program.MAKELONG(UIS_SET, UISF_HIDEFOCUS), 0);
Run Code Online (Sandbox Code Playgroud) 我有一个带有自定义列表适配器的ListView.在getView()方法中,使用ViewHolder'模式',如ListView14.java的API演示中所示.当我第一次渲染列表时,它似乎正确加载.但是,我遇到的问题是,当我滚动列表时,我看到列表中的数据显示在错误的行中(例如,应该在第10行中的TextView显示在第2行中,例如).但是,当我不使用视图,而是每次都调用findViewById()时,列表视图会正确呈现.
我有一个使用CursorAdapter填充的ListView.我还希望在ListView中有一些分隔符.我用ArrayAdapter完成了这个,但是我不知道如何使用CursorAdapter完成这个.这样做有什么策略吗?还是我运气不好?