标签: custom-adapter

自定义 GridView 内存不足异常

我有一个自定义网格视图的代码,每次我尝试运行它时,它都会因OutOfMemoryException. 我想解决方案是调整数组中的图像大小...

主要活动代码

public class AndroidGridLayoutActivity extends Activity {

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.grid_layout);

            GridView gridView = (GridView) findViewById(R.id.grid_view);

            // Instance of ImageAdapter Class
            gridView.setAdapter(new ImageAdapter(this));

            /**
             * On Click event for Single Gridview Item
             * */
            gridView.setOnItemClickListener(new OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View v,
                        int position, long id) {

                    // Sending image id to FullScreenActivity
                    Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
                    // passing array index
                    i.putExtra("id", position);
                    startActivity(i);
                }
            });
        } …
Run Code Online (Sandbox Code Playgroud)

android custom-adapter

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

SwipeRefreshLayout中的Listview-自定义适配器仅显示一行时不显示任何内容

在此处输入图片说明

在我的应用程序中,我有一个列表视图。当我要显示一个以上的项目时,所有事情都可以正常工作,但是当我在列表视图中显示一个项目时,它却显示出一种罕见的行为。

第一:如果单个项目的高度大于窗口高度...它就像一个饰物并正常工作。

第二:如果单个项目的高度小于窗口高度...有时会显示项目(B),有时却不显示!(C)。

第三:我正在使用支持库中的SwipeRefreshLayout,当我尝试刷新listview时,如果listview中有一项...如果高度小于窗口高度,则不会显示该项目。

我不知道了!有谁能够帮助我

我知道这个问题与SwipeRefreshLayout或Listview的高度有关,导致当我将marginTop设置为该视图(作为屏幕高度的一半)时,listview可以正常工作。

我的xml文件是:

<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_Container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="0dp"
android:background="#FFedf1f2"
android:paddingLeft="8.5dp"
android:paddingRight="8.5dp"
android:paddingTop="0dp" >

<ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:divider="@android:color/transparent"
    android:dividerHeight="8.5dp"
    android:scrollbars="none" >
</ListView>
Run Code Online (Sandbox Code Playgroud)

在我至少要在列表视图中显示一个以上的项目之前,所有内容都是一种魅力。但是当我要在列表视图中显示一个项目时,我的列表视图不显示任何内容:(

为什么?我的错在哪里?我哪里错了?

这是getView()我的适配器(扩展BaseAdapter-我已经剪掉了几行代码):

public View getView(int position, View convertView, ViewGroup parent) {

    Typeface MyriadRegular  = Farsi.GetMyriadRegular(mActivity);
    Typeface MyriadBold     = Farsi.GetMyriadBold(mActivity);
    Typeface Yagut          = Farsi.GetYagut(mActivity);
    Typeface JalalBold      = Farsi.GetJalalBold(mActivity);

    User_Session            = new SessionManagement(mActivity);

    View row    = convertView;
    ViewHolder holder;

    mVideo              = mData.get(position);
    //======================================================================== USER
    USERNAME            = mVideo.get("USERNAME").toUpperCase();
    CHANNEL_NAME        = mVideo.get("CHANNEL_NAME");
    CHANNEL_ID          = …
Run Code Online (Sandbox Code Playgroud)

android listview android-listview baseadapter custom-adapter

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

如何在自定义ListView适配器中处理RadioGroup的onCheckedChangeListener

我正在开发具有自定义布局列表视图如下应用:
它有4个RadioButtonsRadioGroupTextView.实际上,它将显示为question(TextView)和answers(RadioButtons)列表.上面的视图在我的自定义适配器中膨胀了ArrayAdapter<Question>.

问题是,我应该如何维护RadioButtons我的自定义状态Adapter?当RadioButtonis pressed/checked和list向下滚动时,会adapter自动回收视图并RadioButton丢失状态.

  • 那么,任何人都可以指导任何关于此的链接/信息吗?
  • 或者我该如何实施问题答案清单?

第一条遵循:http: //www.vogella.de/articles/AndroidListView/article.html.

以上链接使用a CheckBox,以类似的方式我想使用RadioGroup(RadioButtons)代替CheckBoxes.

android radio-button android-arrayadapter android-listview custom-adapter

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

无法在我的自定义ArrayAdapter中访问R.layout.mylayoutname

我正在尝试为我的类别列表创建自定义适配器.出于某种原因,当我试图给它充气时,我无法访问我的category_item布局.这是我的代码:

public class CategoryAdapter extends ArrayAdapter<Category> {

    LayoutInflater mInflater;
    List<Category> list;

public CategoryAdapter(Context context, int resource, int textViewResourceId, List<Category> objects) {
    super(context, resource, textViewResourceId, objects);

    mInflater = LayoutInflater.from(context);
    list = objects;
}

public View getView(int position, View convertView, ViewGroup parent) {

    final ViewHolder holder;

    if(convertView==null){

        convertView=mInflater.inflate(***resource***, null);
        holder = new ViewHolder();

    }

    return convertView;
}

// Declaring new class ViewHolder
class ViewHolder{
    TextView category_name;
}
Run Code Online (Sandbox Code Playgroud)

它说resource我应该能够访问我的category_item.xml布局 - R.layout.category_item.但由于某些原因我没有在列表中看到它,我无法访问它.事实上,我在列表中看不到任何布局.

为什么会发生这种情况?如何解决?

android android-arrayadapter android-layout layout-inflater custom-adapter

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

拉动以刷新并加载listview

我需要在listview中实现pull刷新和加载.我使用自定义适配器来创建listview.如何实现pull to refresh并使用适配器类加载.

有人能帮助我吗?

android listview custom-adapter pull-to-refresh

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

Chris Banes PullToRefreshListView与自定义适配器错误

我正在设置自定义ListView.

pull-to-refresh功能直接来自https://github.com/chrisbanes/Android-PullToRefresh

ListView显示图像,所以我创建了一个自定义适配器:

class mAdapter extends BaseAdapter{

    public mAdapter(Context context){
        // nothing to do
    }

    @Override
    public int getCount() {
        return mValues.size();
    }

    @Override
    public Object getItem(int position) {
        return mValues.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public boolean areAllItemsEnabled() 
    { 
            return false; 
    }

    @Override
    public boolean isEnabled(int position) 
    { 
            return false; 
    } 

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        if(v == null){
            LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-adapter custom-adapter pull-to-refresh

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

重复ListView中的项目?

一切都工作正常,但现在我没有得到正在发生的事情,我有10项目在listView中显示,它的工作正常,直到第6项,然后再次从第一项重复?

    public class GroupDetailsAdapter extends BaseAdapter {
        List<GetSetGroupDetails> group_details = new ArrayList<GetSetGroupDetails>();
        Context context;
        Typeface face;

        public GroupDetailsAdapter(List<GetSetGroupDetails> group_details,
                Context context) {
            super();
            this.group_details.clear();
            this.group_details = group_details;
            this.context = context;
            face = Typeface.createFromAsset(context.getAssets(),
                    "HelveticaNeueLTStd-Th.otf");
        }

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            int count = group_details.size();
            return count;
        }

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

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        } …
Run Code Online (Sandbox Code Playgroud)

android android-listview custom-adapter

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

导航抽屉定制适配器

我有一个工作的导航抽屉,使用文档中ArrayAdapter所示.我想为每个导航抽屉项设置图标,所以我需要创建一个自定义适配器来使用,但我不确定如何做到这一点.我在下面运行而不会崩溃应用程序,但导航抽屉打开空,没有任何内容.你能帮帮我吗?提前致谢!ImageView

到目前为止我为自定义适配器做了什么:

public class CustomAdapter extends ArrayAdapter
{
    private final Context context;

    public CustomAdapter(Context context)
    {
       super(context, R.layout.drawer_list_item);
       this.context = context;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View v = inflater.inflate(R.layout.drawer_list_item, parent, false);
        TextView textViewHome = (TextView) v.findViewById(R.id.drawerHomeTextView);
        ImageView imageViewHome = (ImageView) v.findViewById(R.id.drawerHomeImage);
        TextView textViewList = (TextView) v.findViewById(R.id.drawerListTextView);
        ImageView imageViewList = (ImageView) v.findViewById(R.id.drawerListImage);

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

设置抽屉MainActivity:

mDrawerList = (ListView) findViewById(R.id.leftDrawer);

mDrawerList.setAdapter(new CustomAdapter(this)); …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter custom-adapter navigation-drawer

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

butterknife @OnClick在CustomAdapter中的ViewHolder里面

我正在学习butterknife,我需要在我的客户适配器生成的不同视图上绑定特定的@OnClicks.我该如何解决这个问题?

我在其中一个问题中看到了答案,说他在'ViewHolder'中使用'@onclick'.我不确定如何完全实现这一点.有任何想法吗?

谢谢!

android onclick custom-adapter butterknife

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

RecyclerView和动画中的notifyItemInserted()

当我添加一个新项目时,我正在调用方法

public void addItem(ArrayList<ArrayList<String>> arrayList, int position){
    this.arrayList=arrayList;
    notifyItemInserted(position);
}
Run Code Online (Sandbox Code Playgroud)

并期望看到添加的项目动画,但只有recyclelerView中的前一项可以动画.我试图改变位置,如(位置+ 1)或(位置-1),但它没有帮助.活动代码:

private void showDialog(final String table_name) {
   ...
   final Cursor c = db.rawQuery("SELECT * FROM '"+table_name+"'",null);
 final String mas[]=c.getColumnNames();
    c.close();
    final List<EditText> list = new ArrayList<>();
    for (int m = 1; m < mas.length; m++) {
        list.add(new EditText(this));
        list.get(m-1).setHint(mas[m]);
        linearLayout.addView(list.get(m-1));
    }
    alert.setView(linearLayout);
    alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {

         ArrayList<String> arrayList=new ArrayList<String>();
            for (int i=0;i<list.size();i++)
                arrayList.add(list.get(i).getText().toString());
            try {
                arrayList=AESEncryption.encrypt2(arrayList);
                ContentValues contentValues=new ContentValues();
                for (int i=1;i<mas.length;i++){ …
Run Code Online (Sandbox Code Playgroud)

animation android custom-adapter android-recyclerview

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