我的应用程序中有一些文字,这些文字是我在Android Studio中使用kotlin创建的。对于此应用程序,我想保留一条弹出消息,以便点击文本,一个小的弹出窗口会向我显示该弹出窗口中的相同文本。我正在使用recyclerview。 UI的快照如下所示。
因此,我应该能够点击文本并获得包含相同文本的弹出消息。由于我是android studio的业余爱好者,因此我需要一些帮助。我一直在搜索并找到诸如Dialog
和AlertDialog
之类的解决方案,但我不知道在这种情况下应如何使用它们。顺便说一下,这里没有按钮,它是一个简单的textView。
感谢您的帮助。
答案 0 :(得分:1)
我找到了一种使用AlertDialog
的方法。下面提供了对我有用的代码段。
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()
}
谢谢大家的支持。
答案 1 :(得分:0)
首先在xml中设置textView属性:
android:onClick="onClick"
android:clickable="true"
在其中添加Toast的活动中添加点击功能:
public class MyActivity extends Activity {
public void onClick(View v) {
Toast.makeText(getActivity(), textView.getString(),
Toast.LENGTH_LONG).show();
}
}
答案 2 :(得分:0)
在您的活动中找到您的TextView,然后添加onClickListener 并显示一个包含textviews内容的对话框
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();
}
答案 3 :(得分:0)
您可以使用没有按钮的简单对话框。用户可以点击外部的任意位置以将其关闭:
val ad = AlertDialog.Builder(context).create()
ad.setMessage("Text")
ad.setCancelable(true)
ad.show()
您需要通过context
。