b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

android应用程序后台管理与界面设计 说说如何使用 Android UI 设计聊天界面(4)

电脑杂谈  发布时间:2018-02-22 00:41:49  来源:网络整理

这里根据消息的类型,来决定每一个子项显示哪一种样式。

最后修改活动类的代码,为它初始化数据,并为发送按钮加入响应事件:

public class MainActivity extends AppCompatActivity {

    private List<Msg> msgList = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        init();

        final EditText inputText=(EditText)findViewById(R.id.input);
        Button sendBtn=(Button)findViewById(R.id.send);

        final RecyclerView msgRecyclerView=(RecyclerView)findViewById(R.id.msg);
        LinearLayoutManager layoutManager=new LinearLayoutManager(this);
        msgRecyclerView.setLayoutManager(layoutManager);

        final MsgAdapter adapter=new MsgAdapter(msgList);
        msgRecyclerView.setAdapter(adapter);

        sendBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String content=inputText.getText().toString();
                if("".equals(content))
                    return;

                msgList.add(new Msg(content, Msg.TYPE.SENT));

                //如果有新消息,则设置适配器的长度(通知适配器,有新的数据被插入),并让 RecyclerView 定位到最后一行
                int newSize = msgList.size() - 1;
                adapter.notifyItemInserted(newSize);
                msgRecyclerView.scrollToPosition(newSize);

                //清空输入框中的内容
                inputText.setText("");


            }
        });

    }

    /**
     * 初始化消息数据
     */
    private void init() {
        msgList.add(new Msg("你好", Msg.TYPE.RECEIVED));
        msgList.add(new Msg("你好,请问你是?", Msg.TYPE.SENT));
        msgList.add(new Msg("我是 deniro,很高兴认识你^_^", Msg.TYPE.RECEIVED));
    }
}

运行程序:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-87860-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...