- package com.demo;
- import android.app.Activity;
- import android.app.Fragment;
- import android.os.Bundle;
- import android.text.TextUtils;
- import android.view.KeyEvent;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.View.OnKeyListener;
- import android.view.ViewGroup;
- import android.widget.EditText;
- /**
- * <功能描述> 为New Item定义的Fragment
- *
- * @author Administrator
- */
- public classNewItemFragmentextends Fragment {
- private static finalString TAG = NewItemFragment.class.getSimpleName();
- /**
- * <功能描述> 步骤1:创建指定的接口
- *
- * @author Administrator
- */
- public interface OnNewItemAddedListener {
- // 步骤2:创建接口中的相关方法
- public void onNewItemAdded(String newItem);
- }
- // 步骤3:声明回调接口的对象,接口类对象
- private OnNewItemAddedListener onNewItemAddedListener;
- @Override
- public void onAttach(Activity activity) {
- super.onAttach(activity);
- try {
- // 步骤4:获取父Activity,为声明的接口对象赋值onNewItemAddedListener = (OnNewItemAddedListener) getActivity();
- } catch (Exception e) {
- throw new ClassCastException(activity.toString()
- + " must implement OnNewItemAddedListener");
- }
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // 创建或填充Fragment的UI,并返回View对象View contentView = inflater.inflate(R.layout.new_item_fragment,
- container, false);
- finalEditText etContent = (EditText) contentView
- .findViewById(R.id.et_content);
- etContent.setOnKeyListener(new OnKeyListener() {
- @Override
- public booleanonKey(View v,int keyCode, KeyEvent event) {
- if(event.getAction() == KeyEvent.ACTION_DOWN) {
- LogUtil.d(TAG, "KeyEvent.ACTION_DOWN");
- if((keyCode == KeyEvent.KEYCODE_DPAD_CENTER)
- || (keyCode == KeyEvent.KEYCODE_ENTER)) {
- LogUtil.d(TAG, "KeyEvent.KEYCODE_ENTER");
- if(!TextUtils.isEmpty(etContent.getText().toString())) {
- LogUtil.d(TAG, "content:>"
- + etContent.getText().toString() + "<");
- String content = etContent.getText().toString();
- // 步骤5:创建某种场景,使用该接口回调方法
- onNewItemAddedListener.onNewItemAdded(content);
- etContent.setText("");
- return true;
- }
- }
- }
- return false;
- }
- });
- return contentView;
- }
- }
来源: