关于BaseAdapter的用法
来源:互联网 发布:raspivid 源码 编辑:程序博客网 时间:2024/04/28 00:00
注意:本文代码做了两次测试,所以bean类和myadapter类不对称,但本文可提供语法格式,代码均亲测package com.example.administrator.daer_end;/** * Created by Administrator on 2017/2/25. */public class bean { private String name;// private int imagId; private int type; public static final int received=0; public static final int send=1; public bean(String name,int type) { this.name = name;// this.imagId = imagId; this.type=type; } public String getName() { return name; }// public int getImagId() {// return imagId;// } public int getType(){ return type; }}
package com.example.administrator.daer_end;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.LinearLayout;import android.widget.TextView;import java.util.List;/** * Created by Administrator on 2017/2/25. */public class myadapter extends BaseAdapter { private LayoutInflater mlayoutInflater; private List<bean>list; public myadapter(Context context, List<bean> list) { this.mlayoutInflater = LayoutInflater.from(context); this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { viewHoder viewhoder=null; if (convertView==null) { viewhoder=new viewHoder(); convertView=mlayoutInflater.inflate(R.layout.news,null); viewhoder.leftLayout= (LinearLayout) convertView.findViewById(R.id.layout_left); viewhoder.rightLayout= (LinearLayout) convertView.findViewById(R.id.layout_right); viewhoder.right_news= (TextView) convertView.findViewById(R.id.right); viewhoder.left_news= (TextView) convertView.findViewById(R.id.left);// viewhoder.imageId= (ImageView) convertView.findViewById(R.id.image1); convertView.setTag(viewhoder); } else { viewhoder= (viewHoder) convertView.getTag(); } bean go=list.get(position); if (go.getType()==bean.received){ viewhoder.leftLayout.setVisibility(convertView.VISIBLE); viewhoder.rightLayout.setVisibility(convertView.GONE); viewhoder.left_news.setText(go.getName()); }// viewhoder.imageId.setImageResource(go.getImagId()); else if (go.getType()==bean.send){ viewhoder.rightLayout.setVisibility(convertView.VISIBLE); viewhoder.leftLayout.setVisibility(convertView.GONE); viewhoder.right_news.setText(go.getName()); } return convertView; } class viewHoder{ TextView left_news; TextView right_news;// ImageView imageId; LinearLayout leftLayout; LinearLayout rightLayout; }}
package com.example.administrator.daer_end;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private ListView listView; private List<bean> list=new ArrayList<bean>(); private EditText inputText; private myadapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView= (ListView) findViewById(R.id.listview); inputText= (EditText) findViewById(R.id.input_text); Button button= (Button) findViewById(R.id.button); adapter=new myadapter(MainActivity.this,list); init(); listView.setAdapter(adapter); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String content=inputText.getText().toString(); if (!"".equals(content)){ bean bea=new bean(content,bean.send); list.add(bea); adapter.notifyDataSetChanged(); listView.setSelection(list.size()); inputText.setText(""); } } }); } private void init() { bean one=new bean("你好啊",bean.received); list.add(one); bean two=new bean("你好,很高兴见到你",bean.send); list.add(two); bean three=new bean("最近过的怎么样",bean.received); list.add(three); }}
1 0
- 关于BaseAdapter的用法
- BaseAdapter的用法
- BaseAdapter的详细用法
- BaseAdapter里关于getItemViewType和getTypeCount的用法
- 关于BaseAdapter的使用
- 关于BaseAdapter的使用
- BaseAdapter用法 的基本步骤
- 关于Android 中的BaseAdapter用法理解
- baseAdapter用法
- 第21章:BaseAdapter的用法
- ListView BaseAdapter的用法与性能优化
- BaseRecycleViewAdapter 、BaseQuickAdapter、BaseAdapter 的用法区别
- 关于BaseAdapter的View 提高效率的作用
- 关于BaseAdapter的getView方法的理解
- 关于BaseAdapter的getView方法提示错误
- 关于android中BaseAdapter的理解
- 关于BaseAdapter中notifyDataSetChanged 失效的问题
- 关于android中BaseAdapter的理解
- 简单A+B
- 缓存计数器
- Java Collection
- java Split如何去除一个空格和多个空格
- java中序列化之子类继承父类序列化
- 关于BaseAdapter的用法
- POJ-1465-bfs,同余剪枝
- Android进阶系列-手写高并发网络访问框架
- C#基础知识之循环结构
- Python装numpy教程
- 实验吧 ctf 题目简单的sql注入2writeup
- python入门(一)
- 为什么做销售?
- Android 实战之酷云(一)