接口 interface

    技术2022-05-20  44

    举例:

    public interface onUserTouchListener {              public boolean onUserTouch(MotionEvent e);     }

     

    private onUserTouchListener mListener;

    public void setOnUserTouchListener(onUserTouchListener listener)     {         mListener = listener;     }

     

    其他程序实现该接口

    views.setOnUserTouchListener(new onUserTouchListener(){         public boolean onUserTouch(MotionEvent e) {                                      return false;         }   });

     

    举例二:

    public class UnreadMessagesAsyncQuery { AsyncTask<Void, Void, Cursor> mAsyncTask; completeListener mContext; ContentResolver mContentResolver; public UnreadMessagesAsyncQuery(completeListener context, ContentResolver contentResolver){ mContext = context; mContentResolver = contentResolver; } public synchronized void query(){ mAsyncTask = new AsyncTask<Void, Void, Cursor>(){ @Override protected Cursor doInBackground(Void... arg0) { Cursor cursor = mContentResolver.query(Im.COUNT_UNREAD_MESSAGE, null, null, null, null); return cursor; } @Override protected void onPostExecute(Cursor result) { if(mContext!=null){ mContext.onQueryResult(result); } } }; mAsyncTask.execute(); } public interface completeListener{ public void onQueryResult(Cursor result); } }

     

    private UnreadMessagesAsyncQuery mUnreadQuery; private UnreadMessagesAsyncQuery.completeListener mUnReadQueryListener= new UnreadMessagesAsyncQuery.completeListener(){ @Override public void onQueryResult(Cursor cursor) { if(cursor!=null){ //do something... setUnreadBadge(cursor.getCount()); cursor.close(); } } }; mUnreadQuery = new UnreadMessagesAsyncQuery(mUnReadQueryListener, getContentResolver()); mUnreadQuery.query();

     


    最新回复(0)