位置: 编程技术 - 正文

聊天界面的activity(聊天界面的新消息通知设置 找不到)

编辑:rootadmin
package com.kaixin.android.activity;import java.io.IOException;import java.io.InputStream;import org.json.JSONArray;import org.json.JSONException;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.Intent;import android.graphics.BitmapFactory;import android.os.Bundle;import android.text.TextUtils;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.RelativeLayout;import android.widget.TextView;import com.kaixin.android.KXActivity;import com.kaixin.android.R;import com.kaixin.android.result.ChatResult;import com.kaixin.android.utils.PhotoUtil;import com.kaixin.android.utils.TextUtil;import com.kaixin.android.utils.Utils;/** * 聊天类 * * @author rendongwei * */public class ChatActivity extends KXActivity {private LinearLayout mParent;private Button mBack;private TextView mTitle;private Button mAction;private ListView mDisplay;private Button mFace;private EditText mContent;private Button mSend;private ChatAdapter mAdapter;private String mName;// 当前聊天用户名称private int mAvatar;// 当前聊天用户的头像protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.chat_activity);findViewById();setListener();init();}private void findViewById() {mParent = (LinearLayout) findViewById(R.id.chat_parent);mBack = (Button) findViewById(R.id.chat_back);mTitle = (TextView) findViewById(R.id.chat_title);mAction = (Button) findViewById(R.id.chat_action);mDisplay = (ListView) findViewById(R.id.chat_display);mFace = (Button) findViewById(R.id.chat_face);mContent = (EditText) findViewById(R.id.chat_content);mSend = (Button) findViewById(R.id.chat_send);}private void setListener() {mBack.setOnClickListener(new OnClickListener() {public void onClick(View v) {// 关闭当前界面finish();}});mAction.setOnClickListener(new OnClickListener() {public void onClick(View v) {// 查看聊天记录的对话框new AlertDialog.Builder(ChatActivity.this).setTitle("开心网").setItems(new String[] { "聊天记录" },new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog,int which) {// 跳转到聊天记录界面,并传递当前聊天用户的姓名和头像Intent intent = new Intent();intent.setClass(ChatActivity.this,ChatLogsActivity.class);intent.putExtra("name", mName);intent.putExtra("avatar", mAvatar);startActivity(intent);}}).setNegativeButton("取消",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog,int which) {dialog.cancel();}}).create().show();}});mFace.setOnClickListener(new OnClickListener() {public void onClick(View v) {// 显示表情对话框showFace(mParent);}});mSend.setOnClickListener(new OnClickListener() {public void onClick(View v) {// 获取当前输入的聊天内容String content = mContent.getText().toString().trim();// 聊天内容不为空时执行if (!TextUtils.isEmpty(content)) {// 添加聊天信息ChatResult result = new ChatResult();result.setTime(Utils.getTime(ChatActivity.this));result.setType(1);result.setContent(content);mKXApplication.mChatResults.add(result);// 更新界面并滚动到最后一条信息,并清空输入框mAdapter.notifyDataSetChanged();mDisplay.setSelection(mKXApplication.mChatResults.size());mContent.setText("");}}});mFaceClose.setOnClickListener(new OnClickListener() {public void onClick(View v) {// 关闭表情对话框dismissFace();}});mFaceGridView.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?> parent, View view,int position, long id) {// 获取当前光标所在位置int currentPosition = mContent.getSelectionStart();// 添加有表情的文字mContent.setText(new TextUtil(mKXApplication).replace(mContent.getText().insert(currentPosition,mKXApplication.mFacesText.get(position))));// 关闭表情对话框dismissFace();}});}private void init() {// 获取当前聊天的用户的姓名和头像,并显示姓名到标题栏mName = getIntent().getStringExtra("name");mAvatar = getIntent().getIntExtra("avatar", -1);mTitle.setText(mName);// 获取聊天记录getChat();// 添加适配器并滚动到最后一条信息mAdapter = new ChatAdapter();mDisplay.setAdapter(mAdapter);mDisplay.setSelection(mKXApplication.mChatResults.size());}/*** 获取聊天记录*/private void getChat() {// 判断存储的聊天记录是否已经存在,存在则不在获取if (mKXApplication.mChatResults.isEmpty()) {InputStream inputStream;try {inputStream = getAssets().open("data/chat.KX");String json = new TextUtil(mKXApplication).readTextFile(inputStream);JSONArray array = new JSONArray(json);ChatResult result = null;for (int i = 0; i < array.length(); i&#;&#;) {result = new ChatResult();result.setTime(array.getJSONObject(i).getString("time"));result.setContent(array.getJSONObject(i).getString("content"));result.setType(array.getJSONObject(i).getInt("type"));mKXApplication.mChatResults.add(result);}} catch (IOException e) {e.printStackTrace();} catch (JSONException e) {e.printStackTrace();}}}public class ChatAdapter extends BaseAdapter {public int getCount() {return mKXApplication.mChatResults.size();}public Object getItem(int position) {return mKXApplication.mChatResults.get(position);}public long getItemId(int position) {return position;}public View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder = null;if (convertView == null) {convertView = LayoutInflater.from(ChatActivity.this).inflate(R.layout.chat_activity_item, null);holder = new ViewHolder();holder.in = (RelativeLayout) convertView.findViewById(R.id.chat_item_in_layout);holder.out = (RelativeLayout) convertView.findViewById(R.id.chat_item_out_layout);holder.inAvatar = (ImageView) convertView.findViewById(R.id.chat_item_in_avatar);holder.outAvatar = (ImageView) convertView.findViewById(R.id.chat_item_out_avatar);holder.inName = (TextView) convertView.findViewById(R.id.chat_item_in_name);holder.outName = (TextView) convertView.findViewById(R.id.chat_item_out_name);holder.inTime = (TextView) convertView.findViewById(R.id.chat_item_in_time);holder.outTime = (TextView) convertView.findViewById(R.id.chat_item_out_time);holder.inContent = (TextView) convertView.findViewById(R.id.chat_item_in_content);holder.outContent = (TextView) convertView.findViewById(R.id.chat_item_out_content);convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}ChatResult result = mKXApplication.mChatResults.get(position);// 根据消息的类型,显示不同的界面效果,1为用户自己发出的消息,2为用户收到的消息switch (result.getType()) {case 1:holder.in.setVisibility(View.GONE);holder.out.setVisibility(View.VISIBLE);holder.outAvatar.setImageBitmap(PhotoUtil.toRoundCorner(BitmapFactory.decodeResource(getResources(),R.drawable.head), ));holder.outName.setText("我");holder.outTime.setText(result.getTime());holder.outContent.setText(new TextUtil(mKXApplication).replace(result.getContent()));break;case 2:holder.out.setVisibility(View.GONE);holder.in.setVisibility(View.VISIBLE);holder.inAvatar.setImageBitmap(mKXApplication.getAvatar(mAvatar));holder.inName.setText(mName);holder.inTime.setText(result.getTime());holder.inContent.setText(new TextUtil(mKXApplication).replace(result.getContent()));break;}return convertView;}class ViewHolder {RelativeLayout in;RelativeLayout out;ImageView inAvatar;ImageView outAvatar;TextView inName;TextView outName;TextView inTime;TextView outTime;TextView inContent;TextView outContent;}}}

推荐整理分享聊天界面的activity(聊天界面的新消息通知设置 找不到),希望有所帮助,仅作参考,欢迎阅读内容。

聊天界面的activity(聊天界面的新消息通知设置 找不到)

文章相关热门搜索词:聊天界面的英文,聊天界面的领取红包记录怎么删除,聊天界面的字怎么设置,聊天界面的红包记录怎么删除,聊天界面的新消息通知设置 找不到,聊天界面的超级QQ秀表情包怎么删,聊天界面的超级QQ秀表情包怎么删,聊天界面的耳朵是什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

CheckedTextView的使用、学android疯狂讲义第二版遇到的问题希望能帮到和我一样的初学者、新手 跟着android疯狂讲义敲到页,使用到CheckedTextView时:CheckedTextViewandroid:layout_width=match_parentandroid:layout_height=wrap_contentandroid:text=@string/textandroid:checkMark=?andro

[android] apk 版本升级 [转自

android加载大图片 Gallery配合ImageSwitcher加载大图片展示1.获得屏幕的宽高信息WindowManagerwm=getWindowManager();intscreenWidth=wm.getDefaultDisplay().getWidth();intscreenHeight=wm.getDefaultDisplay().g

标签: 聊天界面的新消息通知设置 找不到

本文链接地址:https://www.jiuchutong.com/biancheng/382202.html 转载请保留说明!

上一篇:android 事件处理机制之requestDisallowInterceptTouchEvent(Android事件处理模型)

下一篇:CheckedTextView的使用、学android疯狂讲义第二版遇到的问题希望能帮到和我一样的初学者、新手(textview hint)

  • 钢材贸易公司是做什么的
  • 印花税按合同的多少收
  • 小规模纳税人不开票收入怎么报税
  • 什么是非关联方交易
  • 购进货物的发票是外来凭证吗
  • 有限合伙企业有经营权吗
  • 银行存款转存利息一样吗
  • 企业自建固定资产
  • 大额存款提前取一部分怎么计息
  • 公司为员工买保险好还是个体户为员工买保险好
  • 代理手续费税收分类编码
  • 2020深圳增值税税率是多少
  • 生产性服务业定义
  • 小企业会计准则和企业会计准则的区别
  • 库存现金盘亏无法查明原因的分录
  • 商品折扣与折让属于销售费用吗
  • 收到一笔款在在当月已退回怎么做账?
  • 认购价和发行价的差价
  • 一直零申报会怎么样
  • 现在就是去年
  • 怎么解决百度打不开页面
  • win7鼠标点右键没反应
  • 对公账户被诈骗转款728000会怎么样呢
  • 收到的进项发票要在多久前认证
  • arm on windows
  • 苹果系统公测版
  • PHP:stream_get_transports()的用法_Stream函数
  • linux小技巧
  • 企业所得税年度预缴的算法
  • 麦克米伦anki
  • 增值税红字专用发票什么意思
  • 试运行取得的收入如何进行财税处理
  • 'The Wave' sandstone formation in Coyote Buttes North, Paria Canyon-Vermilion Cliffs National Monument, Arizona (© Dennis Frates/Alamy)
  • 购入固定资产款项已付
  • CNN卷积神经网络/手写数字识别[VHDL][MATLAB]带源码
  • web前端基础是什么
  • php文件上传下载代码
  • css浮动怎么弄
  • 公司租赁个人车辆账务处理
  • dede织梦怎么转成zblog
  • 小微企业所得税优惠政策最新2023
  • 写字楼租金
  • 小微企业开专票需要缴纳多少税
  • 房产税城镇土地使用税申报期限
  • 残疾人保障金为负数
  • 购进商品发生溢余
  • 营业外支出是什么类账户
  • 办理契税所需要的证件
  • 个税里的年金是指
  • 合同权利义务包含债务吗
  • 包工包料工程预付款的支付比例
  • 股东出资怎么写
  • 小规模纳税人购进商品会计分录
  • 教育费附加免征文件
  • 企业年度报告中的什么信息由企业选择是否向社会公示
  • 建造固定资产的账务处理(出包方式)
  • mysql8 jdbc连接
  • win8.1安装失败
  • 按关键字13,24,37,90,53,34
  • ubuntu16.04.7
  • 中兴新支点操作系统安装教程
  • Winaw32.exe - Winaw32是什么进程
  • 本地安全策略主要功能
  • win7重装系统需要重新激活吗
  • windows8输入法
  • win10更新后有线网络无法使用
  • android程序的基本结构
  • node.js的流的作用
  • js编程代码
  • 微信和qq时间格式不一样
  • shell脚本编程实例
  • JavaScript中String.match()方法的使用详解
  • shell脚本语句
  • jqueryif判断
  • Android使用的方式来管理
  • 阿里巴巴技术文档翻译工资
  • jquery怎么写轮播图
  • 使用SQLite本地数据库
  • jquery源码解析
  • 1.6t车船税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设