我正在创建一个简单的主从应用程序,我希望用户能够双击详细信息视图屏幕并从设备打开默认的电子邮件应用程序对话框。下面附上我的 TopicDetalsFrament.java 文件。请帮助我理解为什么 OnDoubleTapListener 代码不起作用。
public class TopicDetailFragment extends Fragment implements OnDoubleTapListener
{
/**
* The fragment argument representing the item ID that this fragment
* represents.
*/
public static final String ARG_ITEM_ID = "item_id";
/**
* The topic content this fragment is presenting.
*/
private TopicArrayContent.TopicArrayItem mItem;
/**
* Mandatory empty constructor for the fragment manager to instantiate the
* fragment (e.g. upon screen orientation changes).
*/
public TopicDetailFragment()
{
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
if (getArguments().containsKey(ARG_ITEM_ID))
{
// Load the content specified by the fragment arguments.
mItem = TopicArrayContent.ITEM_MAP.get(getArguments().getString(ARG_ITEM_ID));
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_topic_detail, container, false);
// Show the Scriptures content as text in a TextView.
if (mItem != null)
{
((TextView) rootView.findViewById(R.id.topic_scripture1)).setText(mItem.scripture1);
((TextView) rootView.findViewById(R.id.topic_scripture2)).setText(mItem.scripture2);
((TextView) rootView.findViewById(R.id.topic_scripture3)).setText(mItem.scripture3);
((TextView) rootView.findViewById(R.id.topic_scripture4)).setText(mItem.scripture4);
((TextView) rootView.findViewById(R.id.topic_scripture5)).setText(mItem.scripture5);
((TextView) rootView.findViewById(R.id.topic_scripture6)).setText(mItem.scripture6);
((TextView) rootView.findViewById(R.id.topic_scripture7)).setText(mItem.scripture7);
((TextView) rootView.findViewById(R.id.topic_name)).setText(mItem.topicName);
}
return rootView;
}
@Override
public boolean onDoubleTap(MotionEvent e) {
// TODO Auto-generated method stub
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL,
new String[] { "Enter recipient's email address" });
i.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
i.putExtra(Intent.EXTRA_TEXT, "body of email");
try {
startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(TopicDetailFragment.this.getActivity(),
"There are no email clients installed.", Toast.LENGTH_LONG)
.show();
}
return true;
}
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
// TODO Auto-generated method stub
return true;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
}
非常感谢您提供的任何帮助/建议,
声码器