編輯:關於Android編程
Button btn = new Button(this);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
那麼下面通過一個Demo理解接口回調: 主線程開啟一個異步任務,當異步任務接收到數據,則把數據用TextView顯示出來 1、首先 我們需要定義一個接口,定義一個方法,參數為一個字符串: package com.xqx.InterfaceDemo; public interface ChangeTitle { void onChangeTitle(String title); } 2、寫一個異步任務,把接口作為構造方法參數,在doInBackground()方法中判斷如果有數據,則接口回調
package com.xqx.InterfaceDemo;
import android.content.Context;
import android.os.AsyncTask;
public class MyTask extends AsyncTask<String,Void,String>{
private ChangeTitle changeTitle;
public MyTask(ChangeTitle changeTitle) {
this.changeTitle = changeTitle;
}
@Override
protected String doInBackground(String... strings) {
if (strings[0]!=null){
changeTitle.onChangeTitle(strings[0]);
}
return null;
}
}
3、主Activity,給異步任務參數傳this,即 接口回調方法在此類中執行,那麼就需要實現ChangeTitle接口,重寫接口中 onChangeTitle 方法
package com.xqx.InterfaceDemo;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends Activity implements ChangeTitle {
private TextView textView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView = (TextView) findViewById(R.id.textView);
new MyTask(this).execute("我是標題");
}
// 重寫接口方法,執行相應操作
@Override
public void onChangeTitle(String title) {
textView.setText(title);
}
}
Android 在圖片的指定位置添加標記
這些天,項目裡加了一個功能效果,場景是: 假如有一個家居圖片,圖片裡,有各樣的家居用品: 桌子,毛巾,花瓶等等,需要在指定的商品處添加標記,方便用戶直接看到商品,點擊該標
Android Activity Fragment 生命周期
從開源項目中看到 這個,就不由自主的收藏了~
Android:圖片中疊加文字,支持拖動改變位置
之所以做了這麼一個Demo,是因為最近項目中有一個奇葩的需求:用戶拍攝照片後,分享到微信的同時添加備注,想獲取用戶在微信的彈出框輸入的內容,保存在自己的服務器上。而事實上
Android狀態欄著色-透明狀態欄
最近項目上有需求 ,要求狀態欄透明化 。還有需求是拖動狀態欄標題一下的內容,標題欄的顏色要變化 。這裡所謂的既是狀態欄著色,也是我們經常聽到的沉浸式狀態欄,關於沉浸式的稱
【Android】讓HeaderView也參與回收復用機制,自我感覺是優雅的為 RecyclerView 添加 HeaderView (FooterView)的解決方案
本文站在巨人的肩膀上 自我感覺又進了一步而成。基於翔神的大作基礎之上寫的