androidifreturn
① android返回鍵監聽中return false,return true的區別;最好有個例子
android的onKeyDown函數的返回值是這個意思,假如你返回true就是告訴系統我已經對這個回調進行了處理了,不需要系統再處理了。但是你返回false就是告訴系統,我對這個回調做了處理,但是好像不完善,希望系統再幫我處理一下。
② Android,方法return 的 是 true,可是方法外獲取到的是 false
我都看到你寫的return false;的語句了,這說明你的程序走進了那個if裡面,並且返回了一個false;不信的話你可以用Log分別在return true;和return false;前面列印不同的提示語句,應該就是走了false;
③ android 在fragment中怎麼監聽返回鍵,home鍵
android 在fragment中如何監聽返回鍵,home鍵
在activity中用keydown很容易實現對返回鍵的監聽,但是這個函數不能再fragment中重載。
通過咱嘔心瀝血的尋找,終於找到了解決辦法,對其他物理按鍵的監聽也同理。
public class phonerecorder extends Fragment {
View listview;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
listview = (View) inflater.inflate(R.layout.phonerecorder, null);
mListView = (ListView) listview.findViewById(R.id.listView);
init();
mListView.setOnItemClickListener(clickitemlistener);
listview.setFocusable(true);//這個和下面的這個命令必須要設置了,才能監聽back事件。
listview.setFocusableInTouchMode(true);
listview.setOnKeyListener(backlistener);
return listview;
}
private View.OnKeyListener backlistener = new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
if (i == KeyEvent.KEYCODE_BACK) { //表示按返回鍵 時的操作
if (!rootpatch.equals(currentfilepach) && currentfilepach != null) {
File file = new File(currentfilepach);
openDir2(file.getParent().toString());
currentfilepach = file.getParent().toString();
return true;
} //後退
return false; //已處理
}
}
return false;
}
};
}
④ android模擬器中的返回鍵怎麼設置一點返回鍵就直接退出程序而不是退出到登錄頁面
監聽返回鍵
java">publicbooleanonKeyDown(intkeyCode,KeyEventevent){
if((keyCode==KeyEvent.KEYCODE_BACK))//表示按的是返回鍵
{
System.exit(0);//退出進程關閉app,或者可以寫個工具類
//ActivityUtils.getInstance().addActivity(this);
//還有就是登錄頁面跳轉的時候finish登錄頁面的activity
returnfalse;
}else{
returnsuper.onKeyDown(keyCode,event);
}
publicclassActivityUtils{
privateActivityUtils(){
}
=newAtyContainer();
privatestaticList<Activity>activitys=newArrayList<Activity>();
(){
returninstance;
}
publicvoidaddActivity(Activityactivity){
activityStack.add(activity);
}
publicvoidremoveActivity(Activityactivity){
activityStack.remove(activity);
}
/**
*結束所有Activity
*/
publicvoidfinishAllActivity(){
for(inti=0,size=activityStack.size();i<size;i++){
if(!=activityStack.get(i)){
activityStack.get(i).finish();
}
}
activityStack.clear();
}
}
{
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
//添加Activity到堆棧
ActivityUtils.getInstance().addActivity(this);
}
protectedvoidonDestroy(){
super.onDestroy();
//結束Activity&從棧中移除該Activity
ActivityUtils.getInstance().removeActivity(this);
}
}
⑤ Android 程序有返回值且返回值不為空 為什麼不執行return返回值 而執行return null
if...else分支結構啊,肯定是條件不滿足才執行了else分支返回null的,跟lath有沒有值沒有關系。
⑥ android,,onKeyDown()返回有兩個return,每個return表示什麼意思啊
因為返回的是boolean類型,所以if判斷你是否按了返回按鈕,如果是他會返回一個true,表示返回,第二個return其實就是繼續調用這個方法,表明你按的不是返回鍵,他會繼續調用這個方法留著下次判斷