轻触文本并在android studio中显示弹出消息

轻触文本并在android studio中显示弹出消息,android,android-layout,android-studio,android-recyclerview,kotlin,Android,Android Layout,Android Studio,Android Recyclerview,Kotlin,我的应用程序中有一些文本,是我在android studio中使用kotlin创建的。对于这个应用程序,我想保留一个弹出消息,这样我点击文本,一个小弹出窗口会在该弹出窗口中显示相同的文本。我正在使用recyclerview。UI的快照如下所示 因此,我应该能够点击文本并获得包含相同文本的弹出消息。因为我是android studio的业余爱好者,所以我需要一些帮助。我一直在搜索并找到类似Dialog和AlertDialog的解决方案,但我不知道在这种情况下应该如何使用它们。顺便说一下,这里没有

我的应用程序中有一些文本,是我在android studio中使用kotlin创建的。对于这个应用程序,我想保留一个弹出消息,这样我点击文本,一个小弹出窗口会在该弹出窗口中显示相同的文本。我正在使用recyclerview。UI的快照如下所示

因此,我应该能够点击文本并获得包含相同文本的弹出消息。因为我是android studio的业余爱好者,所以我需要一些帮助。我一直在搜索并找到类似
Dialog
AlertDialog
的解决方案,但我不知道在这种情况下应该如何使用它们。顺便说一下,这里没有按钮,它是一个简单的文本视图


非常感谢您的帮助。

首先在xml中设置textView属性:

android:onClick="onClick"
android:clickable="true"
将“单击”功能添加到活动中,并在活动中添加烤面包片:

public class MyActivity extends Activity {

      public void onClick(View v) {
        Toast.makeText(getActivity(), textView.getString(),
   Toast.LENGTH_LONG).show();
      }  
   }    

在活动中找到您的文本视图,并添加onClickListener 并显示包含文本视图内容的对话框

TextView myTextView = (TextView)addView.findViewById(R.id.my_textview_id);

myTextView.setOnClickListener(new OnClickListener() {
@Override
 public void onClick(View v) {
    String stringFromTextView = ((TextView)v).getText().toString();
   showAlertDialog(stringFromTextView);
 }
});

private void showAlertDialog(String stringToShow){
   AlertDialog.Builder builder1 = new AlertDialog.Builder(context);
   builder1.setMessage(stringToShow);
   builder1.setCancelable(true);

   AlertDialog alert11 = builder1.create();
   alert11.show();

}

您可以使用没有按钮的简单对话框。用户可以点击外部的任何位置来关闭它:

        val ad = AlertDialog.Builder(context).create()
        ad.setMessage("Text")
        ad.setCancelable(true)
        ad.show()

您需要传递
上下文

我找到了一种使用
警报对话框
的方法。下面给出了对我有用的代码片段

val mAlertDialogTextView = holder?.view?.textView_subtopic_title //textView_subtopic_title is the view of my choice which needs to popup a message.
            mAlertDialogTextView?.setOnClickListener {
                val mAlertDialog = AlertDialog.Builder(context)
                mAlertDialog.setMessage(key.toString())
                mAlertDialog.setNegativeButton("cancel",{ dialogInterface: DialogInterface, i: Int -> dialogInterface.dismiss()})
                mAlertDialog.show()
            }
谢谢大家的支持