【发布时间】:2014-11-04 11:12:09
【问题描述】:
我的对话框包含 TextView。在 TextView 内我有数字,所以我想为 TextView 设置 onClick 方法,我想使用 call 方法来调用 TextView 内的数字
在对话框 xml 文件中,我将 textview 设置如下
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#2d76ba"
android:layout_toRightOf="@+id/image"
android:onClick="no1"
android:clickable="true"/>
这是我的对话
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.pop); // pop is my dialog xml
dialog.setTitle("Phone Call");
TextView text = (TextView) dialog.findViewById(R.id.text1);
text.setText(values[0]); /// I'm calling the number from array
public void no1(View v)
{
Intent dial = new Intent();
dial.setAction("android.intent.action.DIAL");
dial.setData(Uri.parse("tel:"+values[0]));
startActivity(dial);
}
但是 onClick 方法 (no1) 是错误的,它说“void 是变量 no1 的无效类型”
如何更正对话框内的工作方法? 我试图让它在对话框之外,但是当我点击 textview 时 logcat 说
11-04 13:39:48.666: E/AndroidRuntime(26249): java.lang.IllegalStateException: 在视图类 android.view.ContextThemeWrapper 的活动类 android.view.ContextThemeWrapper 中找不到方法 no1(View) .widget.TextView with id 'text1'
所以看起来该功能不可用
【问题讨论】:
-
您不能在 Dialog 中创建 void 方法。
-
如下代码只是为你的TextView实现OnClickListener。
标签: java android onclick textview android-dialog