android監聽activity
① Android中,寫一個監聽器調用另一個Activity,總是出現以下情況,怎麼解決 package
1. 把Android_02Activity.this.startService(intent);
改為:startActivity(intent);
2.在AndroidManifest.xml中定義第二個activity。添加如下代碼:
<activity android:name=".OtherActivity" >
希望對你有幫助。
② android 如何監聽程序從前台轉入後台
一、通過ActivityManager.RunningAppProcessInfo判斷
首先,我們需要寫一個BaseActivity,然後讓我們應用程序的Activity都繼承自BaseActivity,這樣就可以統一管理,然後在BaseActivity的onResume()和onStop()方法中進行判斷應用程序是否進入到後台並且是否從後台返回到了前台,直接看代碼:
java">{
publicstaticbooleanisActive;//全局變數
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base);
}
@Override
protectedvoidonResume(){
if(!isActive){
//app從後台喚醒,進入前台
isActive=true;
Log.i("ACTIVITY","程序從後台喚醒");
}
super.onResume();
}
@Override
protectedvoidonStart(){
super.onStart();
}
@Override
protectedvoidonPause(){
super.onPause();
}
@Override
protectedvoidonStop(){
if(!isAppOnForeground()){
//app進入後台
isActive=false;//記錄當前已經進入後台
Log.i("ACTIVITY","程序進入後台");
}
super.onStop();
}
@Override
protectedvoidonDestroy(){
super.onDestroy();
}
/**
*APP是否處於前台喚醒狀態
*
*@return
*/
(){
=(ActivityManager)getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
StringpackageName=getApplicationContext().getPackageName();
List<ActivityManager.RunningAppProcessInfo>appProcesses=activityManager
.getRunningAppProcesses();
if(appProcesses==null)
returnfalse;
for(ActivityManager.:appProcesses){
//.
if(appProcess.processName.equals(packageName)
&&appProcess.importance==ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND){
returntrue;
}
}
returnfalse;
}
}
③ Android activity中怎麼監聽view控制項中的變數
你好,單純對變數做監聽是沒有辦法的,可以使用其他的方法,比如handler和message機制,還要利用java的timer定時器,這樣的做法是很不友好的,也是很消耗內存的。
你這里完全沒有必要這樣使用,你這里只是假定count為10,有一個前提是在什麼樣的情況的count的值會改變,比如在button的點擊事件中讓count自增,那麼你需要做的是在點擊事件中判斷count的值為10就可以了,然後做相應的邏輯處理
希望可以幫助到你
④ android裡面Activity button加監聽時出錯!不加就沒事!大俠幫忙!
問題出在 Button beginbtn= (Button) findViewById(R.id.btnstart); 這行代碼上了。
當前的this是login,login的布局文件是login.xml,而Button是在dialog.xml里,
你(Button) findViewById(R.id.btnstart)這行代碼會在login.xml里找這個button,肯定會報錯.
你應該在diaView裡面找button對象。
其他幫忙解答的人也好好看看人家說的話再回答吧。
⑤ android 觸摸事件,如何在android activity界面實現手觸摸事件的監聽,就是真實環境,不是模擬器上的
實現這個onTouchEvent(),取得觸屏坐標,判斷是否在背景上,在就播放一個聲音!
⑥ Android開發中 在Activity中 如何實時監聽 Service 中某個變數的變化
舉個例子你會理解的更快:X, Y兩個listview,X里有1,2,3,4這4個item,Y里有a,b,c,d這4個item。
如果你點了b這個item。如下:
public void onItemClick (AdapterView<?> parent, // parent相當於listview Y適配器的一個指針,可以通過它來獲得Y里裝著的一切東西,再通俗點就是說告訴你,你點的是Y,不是X - -、
View view, // view是你點b item的view的句柄,就是你可以用這個view,來獲得b里的控制項的id後操作控制項
int position, // position是b在Y適配器里的位置(生成listview時,適配器一個一個的做item,然後把他們按順序排好隊,在放到listview里,意思就是這個b是第position號做好的)
long id // id是b在listview Y里的第幾行的位置(很明顯是第2行),大部分時候position和id的值是一樣的,如果需要的話,你可以自己加個log把position和id都弄出來在logcat里瞅瞅,看了之後心裡才踏實
)
⑦ android客戶端作為伺服器區域網用Socket,在一個activity中監聽埠。其他activity發送數據。如何實現呢
1 最簡單也是最笨的辦法是啟動要發送數據的Activity,然後在這個Activtiy進行發送數據。
2 如果你不能接受這樣的話,發送廣播通知那個Activity發送數據。
3 另外,個人覺得,在後台發送數據的功能還是不要寫在Activity的好,可以用service或者線程來實現。
4 如果你決定了用某種方法,咱們在進一步討論
⑧ android activity 的滑動監聽被ViewPager攔截 怎麼破
獲取到三個page裡面的按鈕對像,對它們設置監聽操作就可以了
三個page.xml實質應該是View或是View的子類,比如LinearLayout
那麼就有
int[] pageIds = {R.layout.page1,R.layout.page2,R.layout.page3};
for(int i = 0;i<pageIds.length;i++){
View layout = LayoutInflater.from(mContext).inflate(pageIds[i]);
Button btn = (Button)layout.findViewById(R.id.button);//在這個位置去找你page.xml裡面的按鈕對像
btn.setOnClickListener(new View.OnClickListener{
@Override
public void onClick(View v){
//監聽事件
}
});
}
追問
哦 突然想到 你教給我個關鍵方法實在findViewById前加所在view名是吧?
突然就可以了!心領神會 謝謝!
⑨ 關於android開發,activity上對viewPager中按鈕監聽遇到的問題
獲取到三個page裡面的按鈕對像,對它們設置監聽操作就可以了
三個page.xml實質應該是View或是View的子類,比如LinearLayout
那麼就有
int[] pageIds = {R.layout.page1,R.layout.page2,R.layout.page3};
for(int i = 0;i<pageIds.length;i++){
View layout = LayoutInflater.from(mContext).inflate(pageIds[i]);
Button btn = (Button)layout.findViewById(R.id.button);//在這個位置去找你page.xml裡面的按鈕對像
btn.setOnClickListener(new View.OnClickListener{
@Override
public void onClick(View v){
//監聽事件
}
});
}