Вы можете сделать это с помощью простого onClickListener. Сначала вы проверяете длину текста, затем, если оно превышает 20 символов, вы берете первые 20 и добавляете три точки в конец и отображаете это. В то же время вы сохраняете полный текст во временную переменную и отображаете его, когда кто-то щелкает по вашему TextView.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final TextView textView = findViewById(R.id.textCompany);
String shortMessage;
final String message = textView.getText().toString();
if(message.length() >= 20){
shortMessage = message.substring(0,19)+"...";
textView.setText(shortMessage);
}
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
}
});
}
Примечание: убедитесь, что вы делаете текстовое представление кликабельным, добавив в xml следующее:
android:clickable="true"