Android中回调接口的使用
16lz
2021-01-23
MainActivity如下:
package cn.testcallback;import android.os.Bundle;import android.app.Activity;/** * Demo描述: * Android中回调接口的使用 */public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);testCallBack();}private void testCallBack(){AskQuestion askQuestion=new AskQuestion();String questionString="Do you love me ?";System.out.println("The question is : "+questionString);askQuestion.askQuestion(questionString);}}
CallBackInterface如下:
package cn.testcallback;/** * 定义一个接口 * 接口中有一方法 */public interface CallBackInterface {public void answerQuestion(String result);}
AskQuestion如下:
package cn.testcallback;public class AskQuestion implements CallBackInterface{ public void askQuestion(final String questionString){ new Thread(){ public void run() { AnswerQuestion answerQuestion=new AnswerQuestion(); answerQuestion.receiveQuestion(AskQuestion.this, questionString); }; }.start(); }@Overridepublic void answerQuestion(String result) { System.out.println("The answter is : "+result);}}
AnswerQuestion如下:
package cn.testcallback;public class AnswerQuestion { public void receiveQuestion(CallBackInterface callBackInterface,String questionString){try { Thread.sleep(3000);} catch (Exception e) {}String result="YES!!!";callBackInterface.answerQuestion(result); }}
main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="回调的使用" android:layout_centerInParent="true" /></RelativeLayout>
更多相关文章
- Android的ProgressBar以及自定义进度条
- Android Studio 第五十期 - 自定义TabLayout
- Android 各种自定义进度条Progressbar
- Momo自定义DialogFragment
- 自定义Android editText
- Android创建自定义键盘