【发布时间】:2018-02-18 19:23:51
【问题描述】:
我以编程方式将 TextView 添加到画布对象,但 OnClickListener 不适用于 TextView。我查看了其他答案,并尝试使用 LogCat 进行调试,但无法找到问题。
编辑 1:我正在多次绘制 Canvas 和 TextView,即我有多个 TextView,我想在某些 X 和 Y 上显示它们,我使用 Canvas 绘制了这些,更新了代码。我认为进行编辑可能是多个画布相互干扰。
这是代码:
for(int i=0;i<texts.length;i++){
LinearLayout layout = new LinearLayout(this);
TextView textView = new TextView(this);
textView.setVisibility(View.VISIBLE);
textView.setText(texts[i]);
layout.addView(textView);
layout.measure(c.getWidth(), c.getHeight());
layout.layout(0,0, c.getWidth(), c.getHeight());
c.translate(x1[i], y1[i]);
layout.draw(c);
textView.setClickable(true);
Log.e("DebugClicker","BeforeClickable");
textView.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("DebugClicker","Clicked");
Intent sIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+text));
sIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try{
startActivity(sIntent);
}
catch (SecurityException e){
Log.e("Exception", e.toString());
}
}
});
Log.e("DebugClicker","AfterClickable");
}
}
【问题讨论】:
-
尝试设置
layout的方向,即你的线性布局.. -
这将如何解决问题?
-
可能是因为它无法绘制文本视图..
-
textView 正在显示,但不可点击。另外,我尝试为布局添加方向(水平和垂直),但它没有工作:(
-
@user3667569 你找到解决办法了吗??
标签: android textview clickable