标签: custom-adapter

列表视图的自定义适配器

我想custom adapter为我的列表视图创建一个.是否有任何文章可以指导我如何创建一个并解释它是如何工作的?

android listview custom-adapter android-tablelayout

215
推荐指数
7
解决办法
36万
查看次数

自定义Listview适配器与过滤Android

请尝试在我的listview上实现过滤器.但是每当文本改变时,列表就会消失.请帮助这是我的代码.适配器类.

package com.talagbe.schymn;

import java.util.ArrayList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class HymnsAdapter extends ArrayAdapter<Hymns> {
ArrayList<Hymns> hymnarray;
Context context;
LayoutInflater inflater;
int Resource;


public HymnsAdapter(Context context, int resource, ArrayList<Hymns> objects) {
    super(context, resource, objects);
    // TODO Auto-generated constructor stub

    hymnarray=objects;
    Resource= resource;
    this.context=context;
    inflater= (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
     ViewHolder holder;
     if(convertView==null){

         convertView= inflater.inflate(Resource,null);
         holder= new ViewHolder();
         holder.hymntitle= (TextView) …
Run Code Online (Sandbox Code Playgroud)

android android-listview custom-adapter

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

如何在Android中的自定义列表视图中使用搜索功能

我创建了一个包含多个项目的列表视图.我上面还创建了一个搜索框.我想根据列表的特定字段实现搜索功能.我怎样才能做到这一点?任何帮助将不胜感激.

search android listview baseadapter custom-adapter

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

notifyDataSetChange无法在RecyclerView上运行

我正在使用Android的新RecyclerView,但每当我调用其中一个"notify"方法时,我都无法刷新我的自定义适配器.

我试过调用notifyDataSetChanged,notifyItemRangeInserted和notifyItemInserted,但它们似乎都没有工作.

这是我的自定义适配器的代码.我基本上试图刷新一个字符串列表:

package com.mycompany.myapp.adapters;

import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.mycompany.myapp.R;

import java.util.List;

public class FeedAdapter extends RecyclerView.Adapter<FeedAdapter.ViewHolder> {

    private List<String> mDataset;

    public FeedAdapter(List<String> dataset) {
        super();
        mDataset = dataset;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int i) {
        LinearLayout v = (LinearLayout) LayoutInflater.from(parent.getContext())
                .inflate(R.layout.list_item_feed, parent, false);
        v.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.WRAP_CONTENT));
    return new ViewHolder(v);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.setText(mDataset.get(position));
    }

    @Override
    public int getItemCount() {
        return mDataset.size();
    } …
Run Code Online (Sandbox Code Playgroud)

android custom-adapter android-support-library android-recyclerview

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

如何让ListView的Adapter中的OnClick调用Activity的函数

我有一个带有ListView的Android应用程序,ListView将设置正常,但现在我希望ListView中的图像可以点击.我通过使用2个类,Activity类(父)和ArrayAdapter来填充列表.在ArrayAdapter中,我为列表中我想要点击的图像实现了一个OnClickListener.

到目前为止一切都有效.

但是现在我想在活动类中运行一个函数,当onClick(对于列表中的图像)运行但我不知道如何.以下是我使用的2个类.

首先是Activity类:

public class parent_class extends Activity implements OnClickListener, OnItemClickListener
{
    child_class_list myList;
    ListView myListView;

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

        // setup the Homelist data
        myList     = new child_class_list (this, Group_Names, Group_Dates);
        myListView = (ListView) findViewById(R.id.list);

        // set the HomeList
        myListView.setAdapter( myList );
        myListView.setOnItemClickListener(this);
    }

    void function_to_run()
    {
        // I want to run this function from the LiscView Onclick
    }

    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) 
    {
        // do something
    } …
Run Code Online (Sandbox Code Playgroud)

android onclick android-listview custom-adapter

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

如何在警告对话框中膨胀包含listview的布局?

我在布局中使用带有自定义适配器的listview.现在我试图将包含列表的布局带到我的alertdialog.我尝试将不包含列表的简单布局带到此代码的警告对话框,并且它运行良好.但我无法将包含布局的列表带入alertdialog.

           AlertDialog.Builder dialog = new AlertDialog.Builder( this );
           dialog.setView( getLayoutInflater().inflate( R.layout.smill, null ) );
           dialog.setIcon(R.drawable.androidsmile);
           dialog.setInverseBackgroundForced(true);


           dialog.setTitle( "Select smiley");
           dialog.setPositiveButton( "Cancel", null );
           dialog.show();  
Run Code Online (Sandbox Code Playgroud)

android listview android-alertdialog custom-adapter

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

如何使用自定义适配器的setTag和getTag

我被困了,我需要帮助.我正在尝试使用set并获取Tag但我无法了解它对此操作的工作原理:

  • 我正在使用列表视图来显示加载到扩展适配器的图像
  • 自定义适配器使用imageview_1,textview_1和button_1为布局充气
  • 在我的主要活动中,我有一个用于button_1的"Public Void OnClickHandler",并且在布局上配置了"android:onClick",所以当点击按钮时它会做一些事情
  • 单击button_1时,我想从该特定视图中获取textview_1中的文本,然后加载不同的图像.我想使用get和set TAGS来做到这一点,所以我需要使用button_1和imageview_1进行引用.这里是我的剪辑代码.先感谢您

自定义适配器

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder = null;

    LayoutInflater mInflater = (LayoutInflater) 
        context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);

    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.itemstartsession, null);
        holder = new ViewHolder();

        holder.image = (WebView)convertView.findViewById(R.id.img_session);
        //holder.image.setTag(position);

        holder.code = (TextView)convertView.findViewById(R.id.code_item_session_text);
        //holder.code.setTag(position);


        holder.share=(ImageButton)convertView.findViewById(R.id.share_item_session_button);
        holder.share.setTag(position);

        convertView.setTag(holder);
    // Check if my setTag is ok for button and get the reference to get 
        //text from textview and the referece to webview, then I gonna load a …
Run Code Online (Sandbox Code Playgroud)

tags android listview custom-adapter

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

Android AutoCompleteTextView以横向模式显示对象信息而不是文本

我正在使用自定义适配器与AutoCompleteTextView.它在模拟器和我的平板电脑上工作正常.但是,我的手机在横向模式下出现问题.在此模式下显示的自动完成提示是对象信息而不是文本.但是,当我选择任何项目时,字段会在相应字段中正确填充文本.

基于Android Stock Array Adapter的其他字段的自动完成工作正常.

我必须在自定义适配器中为此做些什么吗?我在SO上只看到了一个类似的问题.对该问题的一个回答是讨论覆盖toString方法,但我无法理解它在我的代码中实现.

任何指导将不胜感激?如果您需要更多信息,请与我们联系.

编辑:添加了我的自定义适配器源代码....

  public class Part_Mstr_Info
  {
    private long part_id;
    private String name, desg, org, dept;

    public Part_Mstr_Info(long part_id, String name, String desg, String org, String dept)
    {
        this.part_id = part_id;
        this.name = name;
        this.desg = desg;
        this.org = org;
        this.dept = dept;
    }
    public long get_part_id() { return part_id; }
    public String get_name() { return name; }
    public String get_desg() { return desg; }
    public String get_org() { return org; }
    public String get_dept() …
Run Code Online (Sandbox Code Playgroud)

android hints autocompletetextview custom-adapter

11
推荐指数
2
解决办法
6193
查看次数

在UI线程中使用setAdapter时,listView中的项目具有白色文本

对于另一个活动中的另一个listView,项目的文本颜色是黑色的,就像它应该的那样.但是,在另一个活动中,当新项目创建时,在新线程中使用setAdapter时,如果我想要黑色,则文本颜色为白色.以下是Layout和Java代码的内容:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="project.yemeb.Search"
android:background="#ffffffff">

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="100dp"
    android:background="@drawable/back_web"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:id="@+id/relativeLayout"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Search"
        android:id="@+id/button2"
        android:background="#ffffffff"
        android:onClick="onBtnClick"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText"
        android:layout_alignBottom="@+id/button2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:background="#ffffffff"
        android:layout_toLeftOf="@+id/button2"
        android:layout_toStartOf="@+id/button2"
        android:layout_alignTop="@+id/button2" />
</RelativeLayout>

<ListView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/listView"
    android:layout_alignParentBottom="true"
    android:layout_below="@+id/relativeLayout"
    android:headerDividersEnabled="false" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

Java代码:

package project.yemeb;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus; …
Run Code Online (Sandbox Code Playgroud)

android listview items custom-adapter

11
推荐指数
1
解决办法
6368
查看次数

在维持N级或多级可扩展列表视图的折叠/展开状态后,不会显示某些子组

我做了很多工作来创建**N级expandableListView.我能够达到任何级别,但我的要求是即使在滚动后仍保持打开组的状态.我试过多种方式,但仍然不成功.

此可扩展列表视图符合此问题以外的所有公司要求.

*这是我试过的一种方式.我能够保存对象中的状态,但是没有显示很少的子组.*

我尝试使用onMeasure(宽度,高度)方法来保持动态生成列表时的高度,但仍未能完美.

我也经历过一些同样的文章.

附上我的工作应用程序的屏幕截图..

在此输入图像描述

这是我的代码.

public class ParentLevelAdapter extends BaseExpandableListAdapter {

        private Context context;
        private View convertView;
        Account account;
        private ArrayList<Model_Departments> list_departments;

        public ParentLevelAdapter (Context context,
                ArrayList<Model_Departments> list_departments, Account account) {
            this.context = context;
            this.list_departments = list_departments;
            this.account = account;
        }

        public void updateList(Context context,
                ArrayList<Model_Departments> list_departments, Account account) {
            notifyDataSetChanged();
        }

        @Override
        public Object getChild(int arg0, int arg1) {
            return this.getChild(arg0, arg1);
        }

        @Override
        public long getChildId(int groupPosition, int childPosition) {
            return childPosition;
        }

        @Override
        public View …
Run Code Online (Sandbox Code Playgroud)

android expandablelistview expandablelistadapter android-listview custom-adapter

11
推荐指数
1
解决办法
881
查看次数