我想在用户按下对话框的正面按钮时分享适配器的全部内容。 试过这个:如何共享适配器的内容?
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
adapter.add("String1");
adapter.add("String2");
adapter.add("String3");
adapter.add("String4");
dialog.setPositiveButton("Share", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
for(int i = 0; i <= adapter.getCount(); i++){
intent.putExtra(Intent.EXTRA_TEXT, adapter.getItem(i));
}
startActivity(Intent.createChooser(intent, "Share via")
);
}
});
它不起作用。当按下Share按钮时,它会使应用程序崩溃。 任何想法?
编辑:感谢您的帮助。这是最终的解决方案:
StringBuilder sb = new StringBuilder();
for(int i = 0; i < adapter.getCount(); i++){
sb.append(adapter.getItem(i)).append("\n");
}
intent.putExtra(Intent.EXTRA_TEXT, (CharSequence) sb);
如果您也包含错误,这将有所帮助 – waqaslam 2014-11-22 15:48:52
对不起,我的意思是应用程序崩溃。 – Bimba 2014-11-22 15:55:22
是的,追加崩溃日志,以便我们知道什么是真正导致问题的原因,因为将最终修饰符设置到适配器应该不会在技术上造成任何麻烦 – waqaslam 2014-11-22 15:59:55