마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리스트뷰가 안보입니다.

0 추천

socket.io를 이용해서 서버랑 통신하고 있고 데이터를 받아올때 GSON을 사용합니다.

게시판을 만들고 있는데, 게시판 리스트(목록)를 보는 코드를 짜고 있습니다.

 근데 오류표시는 없지만 화면에 리스트가 아예 뜨지가 않아요 ㅠㅠ

로그는 뜨긴 합니다 arg에 값 제대로 받아서 들어오긴하는데 화면에만 안뜨는거 같아요

Adapter3.notifyDataSetChanged();

이것도 써보고

arraylist.clear();

 adapter.notifyDataSetChanged();

        listview.invalidateViews();

        listview.refreshDrawableState();

요 방식도 써봤는데 아무 것도 안됩니다.

무슨 문제인가요?

    wlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView parent, View view, int position, long id) {
            String title=adapter3.gettitle(position);
            String writer=adapter3.getwriter(position);
            String time=adapter3.gettime(position);
            int bc = 1;
            int bno = adapter3.getbno(position);
            Intent toRead = new Intent(getApplicationContext(), read.class);
            SimpleDateFormat transFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String to = transFormat.format(time);
            toRead.putExtra("bno",bno);
            toRead.putExtra("title",title);
            toRead.putExtra("time",to);
            toRead.putExtra("writer",writer);
            toRead.putExtra("bc",bc);
            startActivity(toRead);

        }
    });
   
    try {
        mSocket.emit("select all board", num );
    } catch (Exception e) {
    }
    mSocket.on("select all board",SeAB);
}
private Emitter.Listener SeAB = new Emitter.Listener() {
    @Override
    public void call(Object... args) {
        final String arg = args[0].toString();
        final allboardListAdapter adapter3;
        adapter3=new allboardListAdapter();
       Gson gson = new Gson();
       final BoardGson[] borGson = gson.fromJson(arg,BoardGson[].class);

        Log.i("들어왔나?",arg);
            runOnUiThread(new Runnable() {
            @Override
            public void run() {
               
                for( int i=0; i<borGson.length;i++){
                    adapter3.addItem(borGson[i].getBno(),"자유게시판", borGson[i].getTitle(), borGson[i].getDate(),borGson[i].getWriter());
                }

            }
        });
    }
};
익명사용자 님이 2018년 11월 1일 질문
adapter3.addItem() 을 하는 for문이 끝나고 adapter3.notifyDataSetChanged() 를 호출하면 어떻게 되나요?
그방법도 해봣는데 안되더라구요.. 아예 리스트뷰 자체가 안보이는 빈화면이 뜹니다
리스트뷰가 다른 뷰에 가려진 건 아니겠죠?
음 xml 에는 그냥 리스트뷰 하나밖에 없어서 딱히 가려질건 없는거같아요

2개의 답변

0 추천
리스트뷰에 setAdapter를 안해주신건 아닌지요?
익명사용자 님이 2018년 11월 2일 답변
onCreate 안쪽에 wlist.setAdapter(adapter3); 되어 있어요 ㅠ
근데 이게 adapter3.addItem(1,"자유게시판","자유게시판","sss","닉네임"); 이런식으로 아무거나 넣어서 했을땐 됐는데 저렇게 run 안에 저거 넣은건 안되더라구요
0 추천

혹시 firebase 홈페이지에 프로젝트 등록와 제공하는 파일 프로젝트에 등록하셨나요?
firebase 를 사용하신다면 필수적으로 거쳐야 할 과정인거로 알고있습니다 

run 3

garrysmith (140 포인트) 님이 2019년 5월 23일 답변
...