Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutoResizeTextView doesn't wrap content when has new line character in the string ('\n') #37

Open
overcomer opened this issue Sep 27, 2016 · 8 comments

Comments

@overcomer
Copy link

I use AutoResizeTextView and set the string in strings.xml such as "This is a string\nwith new line character". The string will displayed as a very small text.

I think the issue is in isValidWordWrap method, it doesn't include (before == '\n') as a valid word wrap. I have tested by adding (before == '\n') in isValidWordWrap method as following:

public boolean isValidWordWrap(char before, char after) {
      return before == ' ' || before == '-' || before == '\n';
}

And it will work as expected.

@AndroidDeveloperLB
Copy link
Owner

The idea is that the TextView will wrap the text automatically for you, so there is no use for "\n" , and therefore no need to check for it.
Do you think I should add this?

@tagy
Copy link

tagy commented Nov 21, 2016

I agree with overcomer, I am displaying content from a server that sometimes contains new line characters.

I have modified the isValidWordWrap method as above.

@tagy
Copy link

tagy commented Nov 21, 2016

Also having a '\n' at the end of the string throws a StringIndexOutOfBoundsException.

I updated the isValidWordWrap to remove the second unused parameter:

public boolean isValidWordWrap(char before) { return before == ' ' || before == '-' || before == '\n'; }

and the call to this method:

if (i < lineCount - 1 && end > 0 && !isValidWordWrap(text.charAt(end - 1)))

This seems to be working for me.

@AndroidDeveloperLB
Copy link
Owner

You think I should add this fix?
If so, can you please put a pull request?

@AndroidDeveloperLB
Copy link
Owner

@tagy Can you please make a pull request?

@tagy
Copy link

tagy commented Jan 23, 2017

Hi, Sorry I have not been working on Android for a while. I will try to look at this again in a week or so and make a pull request.

@DhamodharanS
Copy link

This issue is still exists in latest version also. can you have look on this. This works good even we may not check condition for **before == '\n'** also.

if (i < lineCount - 1 && end > 0 && !isValidWordWrap(text.charAt(end - 1)))

@AndroidDeveloperLB
Copy link
Owner

guys if you have found a nice working solution, please do a PR and I will use it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants