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

안녕하세요 안드로이드 Textview 글자밀림 현상때문에 질문드립니다.

0 추천

 

각각 텍스트뷰에 배열에 담긴 글자가 "가-1" "가-2".... 이렇게 쭉있고 다른 숫자도 있습니다.

버튼을 누를때마다 해당 글자만 출력하게 하는 프로그램입니다.

그런데 버튼을 처음에 누르면 밑의 그림과 같이 윗라인은 자동 엔터쳐서 나오고 다시 버튼 누르면

위의 그림처럼 첫번째열만 우측정렬이 됩니다ㅜㅜ

그래서 gravity설정으로 left를 잡아보았지만 여전히 똑같네요...

고수님들 팁좀 얻고싶습니다ㅠㅠ

rucasia (140 포인트) 님이 2016년 1월 6일 질문

2개의 답변

0 추천
버튼을 눌렀을 떄 정확히 어떤 작업을 하는지 알아야 할 것 같습니다.

단순이 해당 글자만 출력한다는게

토스트로 띄운다는건지..

단순히 그런거면, 아이템들 레이아웃이 바뀌지는 않을건데요..
모나미153 (17,540 포인트) 님이 2016년 1월 6일 답변
Handler handler = new Handler() {
        public void handleMessage(Message msg) {

       
            for (Beacon beacon : beaconList) {

               
                Identifier id;
               
                id = beacon.getId2();
                int Majornumber = id.toInt();

                try {

                    String[] Lineread = new String[20];

                   
                    BufferedReader br = new BufferedReader(
                            new InputStreamReader(new FileInputStream(mSdPath
                                    + "/Download/List.txt")));

                    sname.setText("                                       ");
                    blocation.setText("                                    ");
                    bname.setText("                                        ");
                    bsemu.setText("                                         ");
                    byear.setText("                                          ");
                    bwork.setText("                                          ");
                    btype.setText("                                          ");

                    if (Majornumber == 1) // 가 - 1
                    {

                        for (int i = 0; i < 161; i++) {
                            if ((Lineread[0] = br.readLine()) != null)
                                Lineread[0] = Lineread[0].substring(0);

                           

                            if (Lineread[0].contains("가-1")) {
                                String[] Linesplit = Lineread[0].split("\t\t");

                                sname.append(Linesplit[0]+"\n");
                                blocation.append(Linesplit[1]+"\n");
                                bname.append(Linesplit[2]+"\n");
                                bsemu.append(Linesplit[3]+"\n");
                                byear.append(Linesplit[4]+"\n");
                                bwork.append(Linesplit[5]+"\n");
                                btype.append(Linesplit[6]+"\n");
                            }
                           
                        }
                        br.close();
                    }

이런식으로 Majornumber에 따라 글자 출력되는것이 다르고, sname, blocation, bname 등과 같이 이런건 텍뷰 아이디입니다.
폰에서 메모장 인식해서 하는건데...
저기 위에 setText 빈공간은 초기화목적으로 사용한겁니다
코딩실력이 초보라서 빈약해도 팁좀 주시면 감사하겠습니다ㅠ
엔터쳐지는 문제는
텍스트뷰에 append로 텍스트 더하면서 마지막에 \n을 넣으셔서 그런 문제 같은데요.
정확히 어떤걸 하시려는지 필요해 보입니다.
0 추천
올려주신 소스 보았는데요.

처음 글짜기 밀리는 문제 말이신건가요?

그건 처음에 초기화 하신다고 setText("    ") 하신것 때문입니다.

이 문제라면 차리라 초기화 하실때는 setText("") 하십시오.

그 문제가 아니시라면 무엇을 하고자 하시는지 한번더 설명을 부탁드립니다.
컴러기 (22,230 포인트) 님이 2016년 1월 6일 답변
오...감사합니다ㅠㅠㅠㅠㅠㅠㅠㅠㅠ
...