我是Android开发的新手.我listview用a textbox和创建了一个checkbox.
当我检查checkbox并向下滚动以检查列表视图中的其他项目时,将取消选中较旧的项目.
我如何避免这个问题listview?请引导我使用我的代码.
这是代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/TextView01"
android:layout_height="wrap_content"
android:text="List of items"
android:textStyle="normal|bold"
android:gravity="center_vertical|center_horizontal"
android:layout_width="fill_parent"/>
<ListView
android:id="@+id/ListView01"
android:layout_height="250px"
android:layout_width="fill_parent"/>
<Button
android:text="Save"
android:id="@+id/btnSave"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是我用来创建动态列表行的XML页面:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:gravity="left|center"
android:layout_width="wrap_content"
android:paddingBottom="5px"
android:paddingTop="5px"
android:paddingLeft="5px">
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="#FFFF00"
android:text="hi"/>
<TextView
android:text="hello"
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10px"
android:textColor="#0099CC"/>
<EditText
android:id="@+id/txtbox"
android:layout_width="120px"
android:layout_height="wrap_content"
android:textSize="12sp"
android:layout_x="211px"
android:layout_y="13px"/>
<CheckBox
android:id="@+id/chkbox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/> …Run Code Online (Sandbox Code Playgroud) 我知道其他成员已经问过这个问题,一些成员也给出了解决方案,但问题是我没有找到适合我的应用程序的任何解决方案.我正在创建一个应用程序,其中我有一个屏幕,它将显示带有列表项的动态列表视图复选框和三个文本视图(一个用于候选名称,另外两个用于clockIn和clockOut时间,将在选择日期和时间后显示日期时间选择器..现在我的问题是,当我检查第一个复选框(我有15个候选名称带复选框)时,第10个复选框自动检查,这也发生在第2和第11,第3和第12个等等(反之亦然是的.我在哪里提供我的适配器类和列表项xml.
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.util.SparseBooleanArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.Toast;
import com.android.feedback.ListViewCheckBox;
public class DemoAdapter extends ArrayAdapter<String>{
private final List<String> list;
private final Activity context;
LayoutInflater inflater;
TextView CItv,COtv;
static ViewHolder holder;
View view;
public DemoAdapter(Activity context, List<String> list) {
super(context, R.layout.test_listitems,list);
// TODO Auto-generated constructor stub
this.context = context;
this.list = list;
}
static class ViewHolder {
protected TextView text,CItv,COtv;
protected CheckBox …Run Code Online (Sandbox Code Playgroud) 有很多关于如何使用的问题,CheckedTextView但我无法使其正常工作.
我有一个CursorAdapter与具有可自定义视图CheckedTextView用android:id="@android:id/text1".我使用过,android:id/text1因为有不同的问题提到如果你使用它,你将获得免费的选择模式倍数.
如果我做这样的事情:
final long[] checkedIds = mListView.getCheckedItemIds();
for ( int i = 0 ; i < mListView.getCheckedItemCount() ; i++ ) {
Log.d(TAG, "id checked: " + checkedIds[i]);
}
Run Code Online (Sandbox Code Playgroud)
我得到所有已检查的ID没有问题,但我看不到任何视觉反馈ListView.
换句话说,逻辑很好但是当我点击CheckedTextView绿色勾号没有出现时.
我正在读ListViewsrc代码,我找不到任何引用android:id/text1,让我想知道我是否应该自己处理widget的检查状态.
任何人都可以找到android:id/text1用于检查小部件的位置吗?