Android TextView,如何为用户显示提示

Android TextView,如何为用户显示提示,android,textview,Android,Textview,我需要为我的文本视图设置提示,如果字符串太长,无法放入电视(我设置了最大长度20),则它只显示部分内容,并在末尾显示“…”。当我点击电视时,我想用完整的字符串显示提示。可能吗?如果是,那么怎么做 内部活动: textCompany.setText(testDb.getCompanyName(id)); textCompany.setEllipsize(null); 和XML: <TextView android:id="@+id/textCompany"

我需要为我的文本视图设置提示,如果字符串太长,无法放入电视(我设置了最大长度20),则它只显示部分内容,并在末尾显示“…”。当我点击电视时,我想用完整的字符串显示提示。可能吗?如果是,那么怎么做

内部活动:

textCompany.setText(testDb.getCompanyName(id));
textCompany.setEllipsize(null);
和XML:

 <TextView
            android:id="@+id/textCompany"
            android:layout_width="match_parent"
            android:layout_below="@+id/textId"
            android:layout_height="wrap_content"
            android:maxLength="20"
            android:ellipsize="end"
            android:gravity="end"
            android:layout_marginEnd="20dp"
            android:textSize="17sp"

            android:text="verylongstringjusttotestifthisworksandletshopeitwill" />

您提到的行为是由于

android:ellipsize=“end”

如果宽度不合适,则显示带有“某些文本…”的文本结尾。 您可以通过编程方式将省略号值更改为“无”,以便在单击时显示全文

myTextView.setEllipsize(null);

你提到的行为是由于

android:ellipsize=“end”

如果宽度不合适,则显示带有“某些文本…”的文本结尾。 您可以通过编程方式将省略号值更改为“无”,以便在单击时显示全文

myTextView.setEllipsize(null);

您可以通过一个简单的onclick侦听器来实现这一点。首先,检查文本的长度,如果超过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中,确保您的textView可单击:

android:clickable="true"

您可以通过一个简单的onclick侦听器来实现这一点。首先,检查文本的长度,如果超过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中,确保您的textView可单击:

android:clickable="true"

您希望在何处显示完整的文本视图?是否希望弹出警报对话框类型?例如,在文本视图上方或任何其他一侧,短时间内,类似于带有提示的消息云是的,对不起,我的语言,i ment popup此处是否显示完整的文本视图?是否需要警报对话框类型的弹出窗口?例如,在文本视图上方或任何其他一侧,短时间内,类似于带有提示的消息云是的,对不起,我的语言,i ment popup感谢此解决方案。最后,我使用了简单的弹出窗口,当焦点不集中时,它就会消失(如果公司名称很长,可以使用它来腾出时间阅读),但您的解决方案完全回答了我提出的问题。感谢您提供此解决方案。最后,我使用了简单的弹出窗口,当焦点不集中时,它就会消失(如果公司名称很长,可以使用它来腾出时间阅读),但您的解决方案完全回答了我提出的问题。