我正在创建一个Android应用程序,其中提到的业务电话,电子邮件,网站类似于随附的Google地图的屏幕快照。
就像在g地图中
单击一下即可进入相应的应用程序(打开复制了电话号码的拨号程序)等。
长按/按住可将其复制到剪贴板,并显示“将电话号码复制到clicpboard”的消息。
现在我已经正确设置了意图,它们可以正常工作->已实现第一步。
当我尝试使用“ OnLongClickListener”方法显示吐司时,显示吐司消息需要花费一些时间。有什么方法可以加快此速度,还是我丢失了某些东西?还是应该使用其他替代方法,例如 onTouch()方法?
(坚持这一点,但仍要学习并尝试将其复制到剪贴板中。也欢迎输入这方面的信息!)
在g maps应用程序中,按下并按住时,吐司消息几乎立即出现。所以要达到同样的效果。
从MainActivity.java中提取的代码(网站,电话号码,电子邮件ID是具有drawableLeft的文本视图。我发现我们不能在TextView上使用setOnItemLongClick,因为它仅用于ListView)
// This method is called when the website text view is clicked and opens the compnay website
public void openWebsite(View v) {
TextView textView = (TextView) findViewById(R.id.webURL_text_view);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent openWebsiteIntent = new Intent(Intent.ACTION_VIEW);
openWebsiteIntent.setData(Uri.parse("https://www.company.com"));
if (openWebsiteIntent.resolveActivity(getPackageManager()) != null) {
startActivity(openWebsiteIntent);
}
}
});
textView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
showMessage();
return true;
}
});
}
public void showMessage(){
Toast.makeText(this,"Information copied to Clipboard", Toast.LENGTH_LONG).show();
}
我是android开发的新手,只是尝试了一些东西,所以请尽可能详细。谢谢。