标签: adapter

Logcat错误:ListView中的"AdapterView"中不支持"addView(View,LayoutParams)"

我正在为Android做一个应用程序,我需要的是它显示了SD卡中所有文件和目录的列表,它必须能够在不同的目录中移动.我在anddev找到了一个很好的教程.我修改了一些东西,所以应用程序在SD卡中移动而不是在Android根目录中,但其余部分基本相同.

这是我的活动的xml文件:

    <?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@id/android:list"       
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</ListView>
Run Code Online (Sandbox Code Playgroud)

这是活动的代码:

    import hackreatorz.cifrador.R;

import java.io.File;
import java.util.ArrayList;

import android.app.ListActivity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class ArchivosSD extends ListActivity {

    private ArrayList<String> directoryEntries = new ArrayList<String>();
    private File currentDirectory = new File("/sdcard/");

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        browseToSD();
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }

    private void browseToSD() {
        browseTo(new …
Run Code Online (Sandbox Code Playgroud)

android listview adapter android-adapterview

39
推荐指数
4
解决办法
5万
查看次数

执行notifyDataSetChanged时使用ListView的ClassCastException

我在listVivew的标题中添加了一个视图,

    View TopSearch =  (View) View.inflate(this, R.layout.search, null);
    lv.addHeaderView(TopSearch, null, false);
Run Code Online (Sandbox Code Playgroud)

一切都很好,直到我尝试执行(数据更改时)

adapter.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)

总是崩溃我的应用程序给我以下错误:

> java.lang.ClassCastException:android.widget.HeaderViewListAdapter

如果我删除标题视图,则没有错误.有什么建议?谢谢.

listview header dataset adapter notify

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

什么是容器/适配器?C++

什么是容器/适配器

有人请用外行的语言解释.

我试图在互联网上查找,但定义和解释太技术化,难以理解.

我有C++的基本知识及其子主题,如(class/templates/STL).

编辑1:

有谁能给我一个容器/适配器应用的实际例子?

只是为了更好地理解:-)

谢谢.

c++ containers stl adapter

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

GridView里面的可扩展列表中的GridView

我想在可扩展列表中放置一个带有图像的gridview ...我已经做到了,但gridview没有显示所有项目......

如何让我的可扩展列表子项适应gridview大小?

列表适配器

public class CustomListAdapter extends BaseExpandableListAdapter
{
    String[]            catg    = { "Administração, Escritorio e Industria", "Cultura e Entretenimento", "Educação e Crianças", "Eventos e Estado do tempo", "Amigos, Familia e Habitações", "Multimédia", "Diversos", "Números e Letras", "Restaurantes e Hoteis", "Desporto, Saude e Beleza", "Lojas", "Turismo e Natureza", "Transportes" };

    Context             myctx;


    @Override
    public Object getChild(int groupPosition, int childPosition)
    {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getChildId(int groupPosition, int childPosition)
    {
        return childPosition;
    } …
Run Code Online (Sandbox Code Playgroud)

android gridview view adapter expandablelistview

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

我们可以从适配器调用startActivityForResult吗?

是否可以onActivityResumeadapter&呼叫中使用方法startActivityForResult

android adapter

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

在锭床工人的文本是白色的在白色背景

我的微调器上的文字是白色的,我不知道为什么.

在此输入图像描述

这是我的xml,没什么特别的

 <Spinner
     android:id="@+id/spinner_date"
     android:layout_width="0dp"
     android:layout_height="wrap_content"
     android:layout_weight="1" />
Run Code Online (Sandbox Code Playgroud)

我的代码

dateSpinner = (Spinner) findViewById(R.id.spinner_date);
selectedDate = calendar.getTime();
List<String> list = new ArrayList<String>();
list.add(formatter.format(selectedDate));
dateAdapter = new ArrayAdapter<String>(mContext,
            android.R.layout.simple_spinner_item, list);
dateSpinner.setAdapter(dateAdapter);
Run Code Online (Sandbox Code Playgroud)

我的文字以白色显示的原因是什么?

编辑:我找到了原因,我替换了我的onCreate中设置的mContext参数.

mContext = getApplicationContext();
Run Code Online (Sandbox Code Playgroud)

现在我用d

ateAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, list);
Run Code Online (Sandbox Code Playgroud)

它的工作原理.

android adapter

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

在ListFragment中添加Header的最佳位置

我在列表中设置自定义标题时遇到了一些麻烦.

我正在使用自定义适配器创建ListFragment.我的列表工作正常,但我正在试图找出片段的生命周期中附加标题的位置.

我知道在设置适配器之前必须添加标头.

我尝试在onActivityCreated中添加我的标题,但是每次我的Fragment从backstack返回时都会调用它,并且因为我还在onActivityCreated中设置了我的适配器,所以它失败了.

我尝试在onCreate中添加它,但视图层次结构在生命周期的那个阶段不可用.

我尝试在onCreateView中添加它,但我无法将从inflate返回的视图转换为ListView.所以我无法将标题添加到香草视图中.

有什么想法吗?

android listview header adapter android-fragments

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

如何删除listview所有项目

在我的应用程序中,如果您单击一个按钮,那么我想删除所有列表视图项目.在这里,我使用基本适配器将项目添加到列表视图.

如何动态删除listview项目.

android listview adapter

33
推荐指数
5
解决办法
9万
查看次数

适配器模式:类适配器与对象适配器

我有一些关于适配器模式的问题.我知道类适配器继承自adaptee,而对象适配器将adaptee作为对象而不是继承自它.

您何时在对象适配器上使用类适配器,反之亦然?另外,使用类适配器和对象适配器的权衡取舍有哪些权衡?

oop design-patterns software-design adapter

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

OnItemClickListener不适用于包含按钮的ListView项

我有ListView自定义Adapter,ViewListView这种方式供应:

   public View getView(int position, View convertView, ViewGroup parent)
   {
        RelativeLayout.LayoutParams lineParams;
        RelativeLayout line=new RelativeLayout(context);

        TextView tv=new TextView(context);
        tv.setText("Text in postion="+i);
        lineParams=new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        lineParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        line.addView(tv, lineParams);
        lineParams.addRule(RelativeLayout.CENTER_IN_PARENT);

        //checkbox
        CheckBox checkBox=new CheckBox(context);
        lineParams=new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        lineParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
        lineParams.addRule(RelativeLayout.CENTER_IN_PARENT);
        line.addView(checkBox, lineParams);
        return line;
    }
Run Code Online (Sandbox Code Playgroud)

ListView里面的某个地方setOnItemClickListener(),它应该拦截项目点击事件.我的问题是,每当我尝试向项目添加复选框时 - 我都没有得到任何回复ListView.如果我跳过CheckBox或其他任何Button工作.

我真的遇到了这个问题,我尝试了各种布局,对齐,包装等等 - 没用.看起来像CheckBox干扰ListView项目点击事件.

任何想法如何克服?

android listview button adapter onitemclicklistener

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