2017-05-01 10 views
3

이제 2 일 동안 이상한 문제가 발생합니다. 누군가 이 정확히 인 경우 친절하게 도움이됩니다.Android보기 페이저 스 와이프 탭보기가 너무 무거워 탭보기에 텍스트가 가득 찼을 때 스 와이프가 발생했습니다.

문제가있어서 어플을 tab view (예 : watsapp의 탭과 3 개의 스 와이프 탭)으로 사용하는 노트가 있습니다.

참고 : 나는 스 와이프 탭이 Android View Pager입니다.

Tabs 단순히

TabLayout에서 생성은 Tab1, Tab2, Tab3을 말한다.

Tab1edittext (사용자가 텍스트 데이터 (노트)을 입력 함)입니다.

Tab2에는 사용자가 작성한 모든 노트가 (list view) 개 있습니다.

Tab3에는 app 용 설정 옵션이 있습니다.

문제입니다 - 사용자가 Tab1 (edittext)에 많은 텍스트를 입력 (많은 여기에 텍스트의 1 Mb 말을 의미) 때

는 그 다음 슬쩍 정말 무거운되고, 당신은 다른 탭으로 이동하려고하면 (Tab1에서 Tab2로, Tab3에서 Tab1로 전환 할 때도 마찬가지입니다.) 을 많이 찔렀습니다.

(Tab2 ---> tab3 또는 tab3 to tab2)은 입니다. (tab2와 3에는 지금 아무것도 없다.) 내가을 시도

사항은 :

1) SO에 가장 관련 질문을 읽고, 아무도 도움이되지 않습니다.

2) 전환 할 때 logcat을 확인하여 조각이 다시 만들어 지는지 확인합니다 ... 그래서 다시 만들어지지 않습니다.

3) 각 스 와이프에서 조각을 다시로드하지 못하도록 viewPager.setOffscreenPageLimit(3);을 설정하십시오.

Here은 내 코드의 일부에 대한 링크입니다.

+0

코드 (인라인이면서 링크가 아님) - 특히 무거운 목록을 만드는 부분 -을 공유 할 수 있습니까? –

+0

그래,하지만 테스트 목적을 위해 목록에있는 단지 2 개의 항목 만 .. 무거운 목록을 만들지는 않았다.이유는 Tab1에서 거대한 텍스트이고 tab2에있는 항목을 나열하지 않습니다 – Wanderer

+0

upvotes를 얻지 못하면 .. upvote하지만 대답을주고, 대답이 필요하고 upvotes .. Pls 누군가 내게 몇 가지 제안을 줘. – Wanderer

답변

0

1MB의 텍스트로 TextView을 갖는 것은 일반적인 시나리오가 아닙니다. 문제가 렌더링인지 또는 생성인지 확실하지 않습니다.

렌더링의 경우 텍스트를 여러 작은 조각으로 나누어 ListView에 넣는 것이 좋습니다. 작성하는 경우 TextView를 한 번 만들어 다시 사용할 수 있습니다.

+0

텍스트가 아닌 edittext입니다. 메모 응용 프로그램이므로 1MB는 ​​20 ~ 30 일 연속 동일한 파일에 메모를 작성한 것과 같습니다. 따라서 1MB는 ​​1MB로 이동하므로 충분히 일반적 일 수 있습니다. – Wanderer

+0

EditText는 TextView입니다. 나는 왜 그것을 깨는 것이 어려울지 이해합니다. –

+0

"한 번 TextView를 만들고 다시 사용할 수 있습니다." 매일 메모를 적어 두었습니다. 외부 메모리에 저장되고 렌더링되는 .. 정적이 아니기 때문에 목록보기 형식의 텍스트는 확실하지 않습니다. – Wanderer