- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 Android 应用程序有问题。我正在尝试创建一个 ListView ,每行包含一个 TextView 和一个选中的 TextView 。我已经完成了布局和适配器,它正确显示了所有项目,但我遇到的问题是:我可以完美地检查前 7 个项目(初始可见的项目)但是当我向下滚动以检查其中一个项目时以下项目(一个不可见的初始值)我得到一个空指针异常。我该怎么办?
适配器代码:
private class myAdapter extends ArrayAdapter<Orders> {
private ArrayList<Orders> items;
public myAdapter(Context context, int resource, ArrayList<Orders> items) {
super(context, resource, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = getLayoutInflater().inflate(R.layout.orderslist_row,
null);
}
Orders o = items.get(position);
CheckedTextView txtSymbol = (CheckedTextView) convertView
.findViewById(R.id.checkedTextView1);
txtSymbol.setText(o.getInstrumentID());
CheckedTextView txtQuantity = (CheckedTextView) convertView
.findViewById(R.id.checkedTextView2);
Double qty = o.getQuantity();
txtQuantity.setText(FormatNumber.Number(qty, 0));
if (o.getStatus().toString().equals("Rejected"))
txtQuantity.setTextColor(Color.RED);
if (o.getStatus().toString().equals("Active"))
txtQuantity.setTextColor(Color.GREEN);
return convertView;
}
和 OnItemClickCode:
public void onItemClick(AdapterView<?> adapter, View view, int position,
long id) {
View v = (View)lstOrders.getChildAt(position);
CheckedTextView ctv = (CheckedTextView) v.findViewById(R.id.checkedTextView2);
ctv.toggle();
最佳答案
getChildAt(i)
处理可见的索引集。当您滚动并且位置 3 成为第一个可见行时,它已成为该方法的位置 0。因此,在任何给定时刻,如果屏幕上可以容纳多少个 ListView 行,则最多只允许索引 7。如果您继续使用此方法,有一种方法可以按照您喜欢的方式调整比例,您可以找出第一个可见行索引是什么,然后从总数中减去。 ListView 有这样的方法。
public void onItemClick(AdapterView<?> adapter, View view, int position,
long id) {
View v = (View)lstOrders.getChildAt(position - lstOrders.getFirstVisiblePosition());
CheckedTextView ctv = (CheckedTextView) v.findViewById(R.id.checkedTextView2);
ctv.toggle();
}
关于Android listview checkedtextview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13819176/
我的 Android 应用程序有问题。我正在尝试创建一个 ListView ,每行包含一个 TextView 和一个选中的 TextView 。我已经完成了布局和适配器,它正确显示了所有项目,但我遇到
我有一个附加到数组适配器的简单 ListView 。我的列表是多选复选框的列表。 开始时,我只是将 android CheckedTextView 用于我的列表 TextView : public s
目前我正在为我的 ListView 使用 CheckedTextView。我只想在单击 CheckBox 而不是相应的文本时激活复选框。如何在CheckedTextView中实现这样的功能? 编辑:
我有以下 xml 代码: 似乎 textview 反射(reflect)了 10 dp 的填充,但右侧的复选框却没有。 TextView 和复选框彼此不对齐。任何人都知道为什么复选框不符合 10 dp
我想在我的几个 checkedtextview 中自定义复选标记。我想使用一个“简单”的解决方案,所以我这样做了: if(serviceChecked.isChecked()){ se
如何在 android 中动态创建 CheckedTextView [而不创建新的实现]? 似乎 CheckedTextView 是抽象的 ...(这根本没有任何意义)因为我不断收到编译时错误:“无法
CheckedTextView 中的文本无法居中,当我制作 android:gravity="center" 最佳答案 试试 android:layout_centerHorizontal="t
我有一个用 CheckedTextViews 动态填充的 ListView 。 ListView 设置为多选模式。我正在使用 OnItemClickListener 来响应对我的 ListView 的
我想要一个多选(选中) ListView 。当我选择一个项目时,绿色复选标记必须出现。为此,我使用了 CheckedTextViews。ListView 从数据库中获取数据。为此,我使用了 Simpl
我实现的布局如下图所示: 我使用的代码是: 这就是我想要的,如下图: 分享一些自定义它的想法,但不使用自定义线性或任何其他布局。我想要一个自定义 View 或 checkedTextVie
给定 CheckedTextView 的 checkMark 的这个 XML 属性: android:checkMark="?android:attr/listChoiceIndicatorMulti
最初我想要一个复选标记,文本放置在复选标记的左侧。在这个网站上搜索后,我发现最好的解决方法是 android:CheckedTextView?但是,我发现用户无法手动更改复选标记。是设计的吗? 最佳
这是我设置已检查 TextView 的方法。怎么没有出现复选框? 我也添加了这个,但没有效果: listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
我有一个带有复选框的 ListView,单击时需要进行切换。由于某种原因,我让它在较旧的 Android 操作系统上运行,但现在在最新版本中无法运行。 这是我的 XML 文件: 以及相关源代码:
我在 AlertDialog 上显示了一个自定义列表。我希望当我单击一个项目时,CheckedTextView 被设置为选中。我试了几个小时,但没有 setChecked()似乎不起作用... 谁能帮
我的布局有问题。 CheckedTextView 中的复选框始终位于 TextView 的右侧。我怎样才能将它对齐到列表的右边缘? 感谢您以后的回答。 这是我的布局: 最佳答案 将复选框的
好的,所以这个网站上已经解决了很多问题,但是我不相信我的代码使用的确切问题。我正在用完全工作的 CheckedTextViews 填充 listView。但是,当我单击某个项目时,它会被选中,但当我上
我正在尝试实现一个非常简单的“待办事项”列表。我选择使用 CheckedTextView 的 ListView(id 为 checked_text),ListView 当然使用 CHOICE_MODE
Android version: 3.1 API version: Android 2.2 Device: Motorola MX604 我动态创建了 CheckedTextView 项目的多选 Li
我有一个 ListView,其中每一行都包含一个 CheckedTextView。我正在使用自定义 checkMark 属性,它使用可绘制对象: 可绘制的 checkbox_selector 按预期
我是一名优秀的程序员,十分优秀!