lankerxd 2018-11-03 05:26 采纳率: 0%
浏览 1231

Andorid 通过AlertDialog添加listview

如题,不过是在碎片中通过单击按钮弹出dialog 输入信息之后获取生成一个新的listview
可是我的点击监听器不能不妨oncreateview里

还有一个疑问就是 onActivityCreated中的监听器getContext 是指dialog吗?

代码如下

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Build;
import android.os.Bundle;
import android.preference.DialogPreference;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.support.v4.app.Fragment ;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class NoteFragment extends Fragment{

List<ChatListView> data = new ArrayList<ChatListView>();

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup viewGroup,
                         Bundle savedInstanceState){
    View view=inflater.inflate(R.layout.note_fragment,viewGroup,false);

    for (int i = 0; i < 3; i++) {
        ChatListView chatListView = new ChatListView("1111","2222");
        chatListView.setGood(i+1);
        chatListView.setNo(i);
        data.add(chatListView);
    }
    ListView listview = (ListView)view.findViewById(R.id.listview_layout_notefragment);
    ChatAdapter chatAdapter=new ChatAdapter(getContext(),data);
    listview.setAdapter(chatAdapter);


    return view;
}
Button chat;
Button goodButton;
Button noButton;
@Override
public void onActivityCreated (Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    chat=(Button)getView().findViewById(R.id.note_fragment_button);
    chat.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v){
            AlertDialog.Builder dialog=new AlertDialog.Builder(getContext());
            final View view=View.inflate(getContext(),R.layout.dialog_chat_notefragment,null);
            dialog.setView(view);
            dialog.setCancelable(true);

            dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    EditText editTextTO=(EditText) view.findViewById(R.id.text_dialog_To);
                    String ToText=editTextTO.getText().toString();
                    EditText editTextSay=(EditText)view.findViewById(R.id.text_dialog_say);
                    String SayText=editTextSay.getText().toString();

                    ChatListView chatListView = new ChatListView(ToText,SayText);
                    chatListView.setGood(i+1);
                    chatListView.setNo(i);
                    data.add(chatListView);
                    ListView listview = (ListView)view.findViewById(R.id.listview_layout_notefragment);
                    ChatAdapter chatAdapter=new ChatAdapter(getContext(),data);
                    listview.setAdapter(chatAdapter);

                }
            });
            dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {

                }
            });
            dialog.show();
        }
    });




}

}

  • 写回答

1条回答 默认 最新

  • lankerxd 2018-11-03 08:17
    关注

    好啦 我已经开开心心的解决啦 在Dialog里面将数据加到data数组之后 再适配器.notifyDataSetChanged()这个就好啦 动态刷新

    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料