我有一个带有自定义适配器的 GridView,当我从列表中选择一个项目时,选择器会显示一秒钟并消失。我猜自定义适配器会导致它,我尝试使用它和选择器,但无济于事。
下面是我的适配器(基于“Hello,Views”中的网格视图示例):
package shira.android.paintdroid;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
class PaintActionsAdapter extends BaseAdapter
{
private Context context;
private int[] actionsImagesResources;
public PaintActionsAdapter(Context context)
{
if (context==null)
throw new IllegalArgumentException("The context must be non-null!");
this.context=context;
/*actionsImagesResources=context.getResources().getIntArray(R.array.
actions_images);*/
actionsImagesResources=new int[6];
for (int counter=0;counter<actionsImagesResources.length;counter++)
actionsImagesResources[counter]=R.drawable.pencil;
}
public int getCount() { return actionsImagesResources.length; }
public long getItemId(int position)
{ return actionsImagesResources[position]; }
public Object getItem(int position)
{ return actionsImagesResources[position]; }
public View getView(int position,View convertView,ViewGroup parent)
{
ImageView actionImageView;
if (convertView==null)
{
actionImageView=new ImageView(context);
AbsListView.LayoutParams layoutParams=new AbsListView.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.
FILL_PARENT);
actionImageView.setLayoutParams(layoutParams);
//actionImageView.setAlpha(0);
}
else actionImageView=(ImageView)convertView;
actionImageView.setImageResource(actionsImagesResources[position]);
return actionImageView;
}
}
布局是这样的:
<GridView android:id="@+id/paint_actions_grid" android:layout_width="0dip"
android:layout_height="fill_parent" android:numColumns="2"
android:layout_weight="0.15" android:drawSelectorOnTop="true"/> <!-- android:background="@color/ui_background_color"/> -->
<!-- android:listSelector="@drawable/actions_list_selector"/> -->
谢谢你的帮助。
下面是GridView的一个截图(现在,所有的条目都有相同的图片)。我想在选中的图像周围画一个某种颜色的框,但是我得到一个橙色的矩形,一秒钟后就消失了,就像我说的。
这是因为在触摸模式中没有选择这样的东西。请参阅此处的文档。
您可以通过将网格单元布局设置为可点击android:clckickable=“true”
,然后创建ColorStateList来解决这个问题。
您要为此使用的状态是激活的
。在选择器xml中使用该状态。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:color="@color/your_activated_color" />
<item android:color="@color/your_standard_color"/>
</selector>
然后将选择器xml设置为gridview单元格布局的背景。这应该可以达到预期的效果。
我在我的应用程序中使用StaggeredGridView和我创建的自定义选择器,但我的选择器肯定出了很大的问题,因为当我在网格视图中选择一个项目时,所有项目都将其颜色更改为绿色。 下面是网格视图项的代码: 这是我的选择器: 这是我的适配器类: 在我的片段中: 知道为什么它可能是错的吗?
我有一个用来选择某些元素的代码,当你点击geticon按钮并显示正确的选项值时,该代码工作得很好。问题是我不确定如何显示下拉菜单的选择选项值(而不是按钮)。 这是我的Jsfiddle null null
我想在选择另一个select元素的一个选项时显示一个select元素,在选择另一个选项时隐藏它。 这是JavaScript: 感谢任何帮助。谢谢
我想在长按时绘制选择器,如图所示。当我长按一个项目时,CAB菜单被激活。但是单击后列表选择器指示器会关闭一次。我希望列表选择器处于活动状态,直到CAB菜单处于活动状态,允许多次选择。如果我双击,颜色应该会切换。当我单击它时,此代码就像闪烁一样工作。有谁面临类似的问题吗?有没有办法实现此功能? 具有多项选择的网格视图: GridView在我的OnCreate中设置选择: 这工作正常: 我试图在激活C
本文向大家介绍从MySQL表的列中选择并仅显示一些行,包括了从MySQL表的列中选择并仅显示一些行的使用技巧和注意事项,需要的朋友参考一下 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 这是用于选择和仅显示一些行的查询- 这将产生以下输出-
我有一个Windows Phone应用程序,其中一个ListPicker绑定到一个ObservableCollection和一个选定的项目: 在ViewModel中: 当我试图从按钮处理程序的列表中删除所选项目时,我得到一个InvalidOperationException(SelectedItem必须始终设置为有效值): 我希望将SseltedCon条件设置为null(这实际上是列表中的第一个项