Max 9000 characters in Android TextView?

2019-02-24 14:20发布

问题:

I have items with a lot of text, mostly around 8500 to 9500 characters. I want to display that in a scrollable textview, but when put the text in a TextView, it seems to be truncated to a max of 9000 characters, while a (the original) String object can hold more. Is there a way to extend this number? Absolutely no parameters on restricting the size of the TextView has been set. Thanks in advance.

回答1:

Here is a link which basically says:

The answer is "how much memory can you allocate?" Of course the system needs to allocate resources to measure and typeset and render all of that text. If it's too long, consider showing the text in pages or chunks.

So if your string has 50000 characters, show it in 9000 character chunks.



回答2:

Use this on your EditText or TextView:

android:maxLength="1000000"

Some phones have an hard limit of 9000 chars by default.



回答3:

For anyone looking at this in 2018, I don't think there's a hard limit. I have a pretty cheap Android phone with 1 GB of RAM and was able to both edit and display over 40,000 characters of text. There is a slight initial pause when pasting into the edit box and when rendering into a text view but otherwise it works just fine.