相关疑难解决方法(0)

如何从多选列表视图中获取所选项目

我正在使用数组适配器,并且这是添加字符串s的数组列表,列表是多选,如何获取列表项的值被点击?

my_contacts_list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice,conts_list);
  my_contacts_list.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

我试图这样做,

SparseBooleanArray positions = my_contacts_list.getCheckedItemPositions();
  int size=positions.size();
  int i=0;
  while(i <= size){
   conts_list.get(positions.get(i));
   i++;
  }
Run Code Online (Sandbox Code Playgroud)

但是position.get(i)是一个数组列表,那么如何检索所选项呢?

android android-listview

47
推荐指数
3
解决办法
8万
查看次数

为什么ListView.getCheckedItemPositions()没有返回正确的值?

该应用程序具有启用了多选的ListView,在UI中按预期工作.但是当我使用此代码读取值时:

Log.i(TAG,"Entered SearchActivity.saveCategoryChoice()");
SparseBooleanArray checkedPositions = categorySelector.getCheckedItemPositions();
Log.i(TAG,"checkedPositions: " + checkedPositions.size());

if (checkedPositions != null) {
  int count = categoriesAdapter.getCount();
  for ( int i=0;i<count;i++) {
    Log.i(TAG,"Selected items: " + checkedPositions.get(i));
  }
}
Run Code Online (Sandbox Code Playgroud)

无论每个复选框处于什么状态,我都会得到此输出:

Entered SearchActivity.saveCategoryChoice()
checkedPositions: 0
Selected items: false
Selected items: false
Selected items: false
Selected items: false
Selected items: false
Selected items: false
Selected items: false
Selected items: false
Selected items: false
Selected items: false
Selected items: false
Selected items: false
Selected items: false
Selected items: …
Run Code Online (Sandbox Code Playgroud)

android listview

27
推荐指数
3
解决办法
3万
查看次数

Android点击listItem检查错误复选框

我通过扩展SimpleCursorAdapter创建了一个自定义ListView.结果是IMAGE + CheckedTextView(文本+复选框).

当我长按一个项目时,一切正常 - 我得到了正确的ID和被点击的项目的详细信息.

当我尝试将项目标记为已选中但它检查错误的复选框时,会出现此问题.

例如:我的列表中有9个项目,排序为1-9.如果我点击listItem 1,则会检查第9行的复选框.如果我点击第4项,则会检查第6行上的复选框,如果我点击中间一行,则会进行检查.

显然,我在这里遗漏了一些东西:)请记住,当我长时间点击该行(contextMenu打开)时,一切都很好.

这是听众:

lv.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                CheckedTextView markedItem = (CheckedTextView) view.findViewById(R.id.btitle);

                if (!markedItem.isChecked()) {
                    markedItem.setChecked(true);
                } else {
                    markedItem.setChecked(false);
                }

            }
        });
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助!

如果您需要我发布更多代码,请告诉我.

谢谢!

顺便说一句,如果我点击多个...... PARTY继续......没有明显的顺序......

编辑:适配器代码

public class ImageCursorAdapter extends SimpleCursorAdapter {

    private Cursor c;
    private Context context;

    private String url;
    private TextView bUrl;

    public ImageCursorAdapter(Context context, int layout, Cursor c,
            String[] from, int[] to) {
        super(context, …
Run Code Online (Sandbox Code Playgroud)

android listview checkedtextview

8
推荐指数
1
解决办法
6850
查看次数

Android自定义ListView重复选择背景

我有一个自定义适配器:

public class PhraseCustomAdapter extends BaseAdapter  
{  
public String original[];  
public String translation[];  
public String transcription[];  

public Activity context;  
public LayoutInflater inflater;  

public PhraseCustomAdapter(Activity context,String[] original, String[] translation, String[] transcription) {  
    super();  

    this.context = context;  
    this.original = original;  
    this.translation = translation;  
    this.transcription = transcription;  

    inflater = LayoutInflater.from(context);
    this.inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
}  

@Override  
public int getCount() {  
    // TODO Auto-generated method stub  
    return original.length;  
}  

@Override  
public Object getItem(int position) {  
    // TODO Auto-generated method stub  
     return position;
}  

public String …
Run Code Online (Sandbox Code Playgroud)

android listview selection

5
推荐指数
1
解决办法
3039
查看次数

想要从Listview中删除所选项目

我使用List和Arrayadapter将字符串放入Listview中.现在我想删除所选的项目.我尝试了以下代码,但它运行不正常.我怎样才能解决这个问题?

这是我的代码:

TextView t1;
String[] temp;
mylist = (ListView) findViewById(R.id.list);
final List<String> wordList = Arrays.asList(temp);
adapter = new ArrayAdapter<String>(this,
                                   android.R.layout.simple_list_item_multiple_choice, 
                                   wordList);
delete.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
       int index = mylist.getSelectedItemPosition();
       int count=mylist.getCount();
       for(int i=0;i<=count;i++) {
           if (index >= 0) {
               t1.setText(wordList.remove(index));
           }
           adapter.notifyDataSetChanged();
       } 
   }
});
Run Code Online (Sandbox Code Playgroud)

这里有更多的源代码:

    public class Edit extends Activity {
        SharedPreferences sharedpref;
        ListView mylist;
        String[] temp;
        String name, 
        ArrayAdapter<String> adapter;
        Button save, delete, cancel;
        TextView t1;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // …
Run Code Online (Sandbox Code Playgroud)

android

4
推荐指数
1
解决办法
2万
查看次数

如何从 ViewModel 类中的 ListView 获取所有选定项目?

我使用 Caliburn.Micro 库用 MVVM (C#) 和 XAML 编写了一个程序,如何从 ListView 控件中获取所有选定的项目(不仅仅是一个项目)?

我的代码链接...

用绑定方法SelectedItem="{Binding SelectedItem}"刚拿到第一个选中的项目!

c# wpf mvvm caliburn.micro

2
推荐指数
1
解决办法
2390
查看次数