【发布时间】:2014-09-24 21:33:55
【问题描述】:
我正在开发一个基本的 Android 应用程序,它使用 SAXParser 从资产中解析 xml 文件,并且我已经成功解析了 xml。
然后我使用以下代码为 Context 注册已解析的文本:
.......
this.registerForContextMenu(content);
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Choose");
menu.add(0, v.getId(), 0, "Copy");
menu.add(0, v.getId(), 0, "Share");
if (selectedText.size() > 0) {
menu.add(0, v.getId(), 0, "Copy");
menu.add(0, v.getId(), 0, "Share");
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if (item.getTitle() == "Copy") {
copySelectedText(getSelectedText());
return true;
} else if (item.getTitle() == "Share") {
shareSelectedText(getSelectedText());
return true;
} else
return false;
}
public boolean copySelectedText(String text) {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newIntent(position, getIntent());
clipboard.setPrimaryClip(clip);
return true;
}
private void shareSelectedText(String text) {
copySelectedText(null);
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, text);
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
"Shared from MyApp");
startActivity(Intent.createChooser(sharingIntent,
"Sharing text using"));
}
public String getSelectedText() {
//How do I code here?? }
return null;
}
使用上面的代码,当我长按已解析文本的任何部分时,上下文菜单可以正常工作。但我的问题是,我不知道将解析后的文本放入剪贴板。有人可以帮帮我吗?提前致谢。
【问题讨论】:
标签: android xml parsing copy clipboard