createChooser 不显示标题
Posted
技术标签:
【中文标题】createChooser 不显示标题【英文标题】:createChooser not displaying title 【发布时间】:2020-12-08 15:26:58 【问题描述】:在Customadapter.java文件中,这部分代码我已经写在下面了。
当我点击任何列表视图项目时,共享窗口打开,但我看不到 createChooser 中提到的标题“共享使用”。请帮助我。
CustomAdapter.java
public View getView(int position, View view, ViewGroup viewGroup)
LayoutInflater inflater= (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v=inflater.inflate(R.layout.custom,null);
TextView tv1=v.findViewById(R.id.textView);
final TextView tv2=v.findViewById(R.id.textView2);
TextView tv3=v.findViewById(R.id.textView3);
tv1.setText(arrayList.get(position).getId()+"");
tv2.setText(arrayList.get(position).getName());
tv3.setText(arrayList.get(position).getAddress());
v.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
Intent intent = new Intent ();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, tv2.getText().toString());
intent.setType("text/plain");
context.startActivity(
Intent.createChooser(
intent,
"Share using"
)
);
);
return v;
【问题讨论】:
标题是否出现取决于操作系统版本和可能的设备制造商。 那么如何知道哪些会显示哪些不会呢? 一般来说,你不会。您提供标题,是否显示将取决于具体情况。 点击此链接 - guides.codepath.com/android/Sharing-Content-with-Intents 在哪里提到为什么不显示? 【参考方案1】:根据Intent.createChooser(...)
的文档:
@param title 可选的title,将在选择器中显示, 仅当目标操作不是 ACTION_SEND 或 ACTION_SEND_MULTIPLE 时。
在您的代码中,您有:
intent.setAction(Intent.ACTION_SEND);
这就是你看不到任何标题的原因。
【讨论】:
***.com/questions/20236947/… 如果你通过上面的链接,即使是intent.setAction(Intent.ACTION_SEND),我们仍然可以看到标题。 好吧,在本地测试过,即使ACTION_SEND
也会显示标题,我猜我不应该那么相信 android 文档:/ 文档在这里顺便说一句:developer.android.com/reference/android/content/… 标题是否显示如果您将操作更改为其他?
嘿,你是怎么做到的。请解释一下。
我复制了您的确切代码,并且显示了标题。我没有改变任何东西。我在三星 Galaxy S9 上运行代码。正如@CommonsWare 对您的问题所评论的那样,这可能与硬件有关,我看不出有办法操纵它。以上是关于createChooser 不显示标题的主要内容,如果未能解决你的问题,请参考以下文章
执行 createChooser(context,intent,IntentSender) 后不调用 BroadcastReceiver
为啥`Intent.createChooser(shareIntentWithJpgFileName)` 停止工作?
在 Android 中发送电子邮件时在 StartActivity() 中使用 Intent.createChooser() 的目的是啥