【问题标题】:how to set on click method for text inside dialog如何设置对话框内文本的点击方法
【发布时间】: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


【解决方案1】:
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]); 
text.setOnClickListener(new View.OnClickListener()
  {
        public void onClick(View view) 
         {
          Intent dial = new Intent();
          dial.setAction("android.intent.action.DIAL");
          dial.setData(Uri.parse("tel:"+Global.values[0]));
          startActivity(dial);

         }
    });

【讨论】:

  • 这可能是解决方案,但您应该提出错误和可能的解决方案!
  • op 还应该从 xml 中删除 android:onClick
  • @NaveenTamrakar 非常感谢,它就像一个魅力
猜你喜欢
  • 2020-04-11
  • 2011-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-07
  • 1970-01-01
  • 1970-01-01
  • 2014-04-07
相关资源
最近更新 更多