Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未使用Android Studio在baseAdapter类上调用getView_Java_Android_Listview - Fatal编程技术网

Java 未使用Android Studio在baseAdapter类上调用getView

Java 未使用Android Studio在baseAdapter类上调用getView,java,android,listview,Java,Android,Listview,我已经使用这个类扩展了基本适配器的显示值。下面的代码正确运行eclipse。但我使用AndroiStudio创建了一个新项目,该代码中的getview函数无法调用或工作。 我还检查getcount。getcount值可用 public class CustomAdapterChatActivity extends BaseAdapter { ArrayList<ChatUsersDetailsBean> mBeans = new ArrayList<ChatUsersD

我已经使用这个类扩展了基本适配器的显示值。下面的代码正确运行eclipse。但我使用AndroiStudio创建了一个新项目,该代码中的getview函数无法调用或工作。 我还检查getcount。getcount值可用

public class CustomAdapterChatActivity extends BaseAdapter {
    ArrayList<ChatUsersDetailsBean> mBeans = new ArrayList<ChatUsersDetailsBean>();
    Context mcontext;
    LayoutInflater inflater;
    CommonUtil commonUtil;
    public CustomAdapterChatActivity(Context context,
            ArrayList<ChatUsersDetailsBean> mBeans) {
        // TODO Auto-generated constructor stub
        mcontext = context;
        this.mBeans = mBeans;       
        commonUtil = new CommonUtil(context);
        inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
    }        
    @Override
    public int getCount() {
        return mBeans.size();
    }        
    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }        
    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }       
    public class Holder {
        TextView name;
        TextView content;
    }        
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        Log.e("getView",""+"getView");
        if (convertView == null) {
            convertView = inflater.inflate(
                    R.layout.chat_listview_layout_screen, null);
        }
        setAttributes(position, convertView);

        convertView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub                  
                click(position);
            }
        });
        return convertView;
    }        
    public void click(int position) {
        Intent mintent = new Intent(mcontext, ChatViewBackgroundActivity.class);
        mintent.putExtra("name", mBeans.get(position).getOpponent_name());
        ((ChatActivity) mcontext).startActivityForResult(mintent, 1);
    }
    public void setAttributes(final int position, View convertView) {
        Holder holder = new Holder();       
        holder.imgdispatcher = (ImageView) convertView
                .findViewById(R.id.chat_list_iv_profilepic);
    }
公共类CustomAdapterChatActivity扩展BaseAdapter{
ArrayList mBeans=新的ArrayList();
语境;
充气机;
CommonUtil CommonUtil;
公共CustomAdapterChatActivity(上下文,
ArrayList(mBeans){
//TODO自动生成的构造函数存根
mcontext=上下文;
this.mBeans=mBeans;
commonUtil=新的commonUtil(上下文);
充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
}        
@凌驾
public int getCount(){
返回mBeans.size();
}        
@凌驾
公共对象getItem(int位置){
//TODO自动生成的方法存根
返回位置;
}        
@凌驾
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回位置;
}       
公共类持有者{
文本视图名称;
文本视图内容;
}        
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
//TODO自动生成的方法存根
Log.e(“getView”,“getView+”);
if(convertView==null){
convertView=充气机。充气(
R.layout.chat_列表视图_布局_屏幕,空);
}
设置属性(位置、视图);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
点击(位置);
}
});
返回视图;
}        
公共无效单击(整数位置){
Intent MINENT=新的Intent(mcontext,ChatViewBackgroundActivity.class);
minent.putExtra(“name”,mBeans.get(position.getOperator_name());
(聊天活动)mcontext.startActivityForResult(Minent,1);
}
公共void setAttributes(最终整型位置,视图转换视图){
支架=新支架();
holder.imgdispatcher=(ImageView)convertView
.findViewById(R.id.chat\u list\u iv\u profilepic);
}
请帮帮我,我很挣扎。 不会显示任何错误。 我检查getview是否运行,此时getview随时都不工作。 此代码包含所需的任何更改

更改适配器类中的getView()方法,如以下代码所示:

public View getView (final int position, View convertView, ViewGroup parent){
    if( convertView == null ){
        //We must create a View:
        convertView = inflater.inflate(R.layout.my_list_item, parent, false);
    }
    //Here we can do changes to the convertView
    return convertView;
}

在添加新增加的视图时,尽量避免将null作为视图根传递。Lint现在会警告您不要将null传递给根。在这种情况下,您的应用不会崩溃,但它可能会出现错误行为。当您的子视图不知道其根视图组的正确LayoutParams时,它将尝试使用它自己确定这些参数。

@AbiK如果您正如我在上面的注释中所提到的,使用下面修改过的getView()方法和setAttributes()方法的代码。我希望它对您有用

        public class CustomAdapterChatActivity extends BaseAdapter {
        ArrayList<ChatUsersDetailsBean> mBeans;
        Context mcontext;
        LayoutInflater inflater;
        CommonUtil commonUtil;

        public CustomAdapterChatActivity(Context context,
                                         ArrayList<ChatUsersDetailsBean> mBeans) {
            mcontext = context;
            this.mBeans = mBeans;
            commonUtil = new CommonUtil(context);
        }

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

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

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

        public class Holder {
            TextView name;
            TextView content;
            ImageView imgdispatcher;
        }

        public Holder setAttributes(final int position, View convertView) {
            Holder holder = new Holder();
            holder.imgdispatcher = (ImageView) convertView.findViewById(R.id.chat_list_iv_profilepic);
            // holder.name=(TextView)convertView.findViewById(R.id.); // declare Id
            // holder.content=(TextView)convertView.findViewById(R.id.); // declare Id
            return holder;
        }

        @Override
        public View getView(final int position, View convertView, ViewGroup parent) {
            Holder holder = null;
            LayoutInflater inflater = (LayoutInflater)
                    mcontext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            if (convertView == null) {
                convertView = inflater.inflate(R.layout.chat_listview_layout_screen, parent, false);
                holder = setAttributes(position, convertView);
                convertView.setTag(holder);
            } else {
                holder = (Holder) convertView.getTag();
            }
            convertView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    click(position);
                }
            });
            return convertView;
        }

        public void click(int position) {
            Intent mintent = new Intent(mcontext, ChatViewBackgroundActivity.class);
            mintent.putExtra("name", mBeans.get(position).getOpponent_name());
            ((ChatActivity) mcontext).startActivityForResult(mintent, 1);
        }


    }
公共类CustomAdapterChatActivity扩展BaseAdapter{
ArrayList mBeans;
语境;
充气机;
CommonUtil CommonUtil;
公共CustomAdapterChatActivity(上下文,
ArrayList(mBeans){
mcontext=上下文;
this.mBeans=mBeans;
commonUtil=新的commonUtil(上下文);
}
@凌驾
public int getCount(){
返回mBeans.size();
}
@凌驾
公共对象getItem(int位置){
//TODO自动生成的方法存根
返回位置;
}
@凌驾
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回位置;
}
公共类持有者{
文本视图名称;
文本视图内容;
ImageView imgdispatcher;
}
公共持有者设置属性(最终整数位置,视图转换视图){
支架=新支架();
holder.imgdispatcher=(ImageView)convertView.findViewById(R.id.chat\u list\u iv\u profilepic);
//holder.name=(TextView)convertView.findViewById(R.id.);//声明id
//holder.content=(TextView)convertView.findViewById(R.id.);//声明id
报税表持有人;
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
Holder=null;
LayoutInflater充气机=(LayoutInflater)
mcontext.getSystemService(Context.LAYOUT\u充气机\u服务);
if(convertView==null){
convertView=充气机。充气(R.layout.chat\u listview\u layout\u屏幕,父项,false);
holder=设置属性(位置、视图);
convertView.setTag(支架);
}否则{
holder=(holder)convertView.getTag();
}
convertView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
点击(位置);
}
});
返回视图;
}
公共无效单击(整数位置){
Intent MINENT=新的Intent(mcontext,ChatViewBackgroundActivity.class);
minent.putExtra(“name”,mBeans.get(position.getOperator_name());
(聊天活动)mcontext.startActivityForResult(Minent,1);
}
}

谢谢你的回答。如果(convertView==null){convertView=inflater.inflate,我会更改代码,但不会更改执行过程(