1. 程式人生 > >android 呼叫其他activity類中的方法

android 呼叫其他activity類中的方法

    在呼叫其他activity類中的方法是,出現錯誤;

錯誤方法:MainActivity activity=new MainActivity();

錯誤原因:activity是不能用new來例項化的。

解決辦法:在activity類的onCreate()中 呼叫該類的構造方法,把context和avtivity物件傳過來。話不多說,程式碼更直觀!

1.ClipBoardService.java

public class ClipBoardService {
	
	private Context contxt;
	private MainActivity activity;

	public Context getContxt() {
		return contxt;
	}

	public void setContxt(Context contxt) {
		this.contxt = (MainActivity) contxt;
	}

	public Activity getActivity() {
		return (MainActivity) activity;
	}

	public void setActivity(Activity activity) {
		this.activity = (MainActivity) activity;
	}

	public ClipBoardService(Context context, MainActivity activity) {
		this.setContxt(context);
		this.setActivity(activity);
	}
private void getMethod(){
		activity.method();
	}
}

2.MainActivity.java
public class MainActivity extends Activity{
      private ClipBoardService clipBoard;
    
      @Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		clipBoard = new ClipBoardService(this,MainActivity.this);
   }public void method(){}
}


相關推薦

android 呼叫其他activity方法

    在呼叫其他activity類中的方法是,出現錯誤; 錯誤方法:MainActivity activity=new MainActivity(); 錯誤原因:activity是不能用new來例項化的。 解決辦法:在activity類的onCreate()中 呼叫該類的

如何在非Activity跳轉到其他Activity

今天在寫Adapter時,想在介面卡裡設定監聽跳轉到別的Activity,然而使用一下程式碼是錯誤的 Intent  intent = new Intent(context, MainActivity.class); startActivity(intent); 這裡的co

Activity呼叫Activity方法

專案中遇到一個問題,要在非Activity的類中呼叫Activity的setResult()方法,通過好友和CSDN網友的幫助終於解決了,感謝! 解決地址:http://bbs.csdn.net/topics/390911138 我的實現方式: 在類中定義Context,

如何使用spring容器在一個呼叫另一個方法

學了spring容器之後,最基本的就是這個在一個類中呼叫另一個類中的方法了。本文講述的就是如何使用spring容器從一個類呼叫另一個類的方法。首先,我們先新建一個Student類,在類中建立一個int型別的方法。如圖: 第一個類Student就完成了,那麼我們

Java:main()函式呼叫方法的限制

1、在本類中呼叫自己的方法,方法必須為靜態的,否則報錯; 通過遞迴方法,實現N!的演算法。   public class TestRecursion { public static void main(String[] args) { System.out.print

Spring service本方法呼叫另一個方法事務不生效問題

前些日子一朋友在需要在目標物件中進行自我呼叫,且需要實施相應的事務定義,且網上的一種通過BeanPostProcessor的解決方案是存在問題的。因此專門寫此篇帖子分析why。 1、預備知識 使用AOP 代理後的方法呼叫執行流程,如圖所示 也就是說我們首先呼叫的是

Java-反射以及反射呼叫方法

認識反射 反射是物件的反射處理操作。 先來看看“正”操作。 在預設情況下,必須要先匯入一個包,而後才能產生類的例項化物件。 如下就是一個正操作。 import java.util.Date;//匯入的包 public class Test{ public stati

unity三種呼叫其他指令碼函式的方法

第一種,被呼叫指令碼函式為static型別,呼叫時直接用  指令碼名.函式名()第二種,GameObject.Find("指令碼所在的物體的名字").SendMessage("函式名"); //能呼叫public和private型別函式第三種,GameObject.Find(

C++初學例程5---的定義和方法的定義及呼叫

 void Set_weight(int w);//這裡只是對函式的宣告 還沒有實際的定義        //方法的首字母也大寫  //如何在 類的外部定義類中的方法  void Get_height()  {   cout<<"height = "<<height<<"

Unity3D三種呼叫其他指令碼函式的方法

第一種,被呼叫指令碼函式為static型別,呼叫時直接用  指令碼名.函式名()。很不實用…… 第二種,GameObject.Find("指令碼所在物體名").SendMessage("函式名");  此種方法可以呼叫public和private型別函式 第三種,Ga

QT 一個呼叫另一個方法 (樣式表例子)

① 新建一個類 ②新宣告的類cal 程式碼如下 cal.h #ifndef CAL_H #define CAL_H #include <QString> class Cal { public: Cal(); ~Cal(

python檔案的__name__=='__main__'的使用及呼叫其他py檔案的函式方法

最近學習python的時候經常會看到好多py檔案中都有if _name_ == ‘_main_‘: 這句話,所以就花點兒時間來研究一下,總結了一下使用方法及原則。 平時我們使用python IDE編寫py程式的時候 一般是很少用到if name == ‘mai

多執行緒呼叫單例方法會不會造成執行緒安全問題

區域性變數不會受多執行緒影響 成員變數會受到多執行緒影響 多個執行緒應該是呼叫的同一個物件的同一個方法: 如果方法裡無成員變數,那麼不受任何影響 如果方法裡有成員變數,只有讀操作,不受影響                      存在寫操作,考慮多執行緒影響值 當多個執行

C#反射呼叫另外一個的私有欄位和方法

        /// <summary>        /// 設計器支援所需的方法 - 不要        /// 使用程式碼編輯器修改此方法的內容。        /// </summary>        private void InitializeComponent()  

matlab呼叫其他資料夾方法

我們在寫matlab程式的時候,為了將程式分為幾個模組而將m檔案分在不同的資料夾下,如果直接呼叫另一個資料夾下的m檔案是不可以的,正確的方法是用addpath函式,如 addpath D:\Matl

C++ 動態載入動態庫 呼叫方法

原文地址: https://stackoverflow.com/questions/26234327/qlibrary-import-a-class c++ 的類中方法定位是編譯時就完成的,而不是在run-time時去定位,所以動態載入時無法直接通過類名::函式名的方式呼叫

QML入門之QML呼叫C++方法(二)

本篇以 Qt 官方示例 methods 介紹 QML 呼叫 C++ 類中的方法。核心就是在 C++ 類中使用 巨集 Q_INVOKABLE 宣告方法class BirthdayParty : public QObject { Q_OBJECT // ...

spring 本方法呼叫另外一個方法事務不生效

1、在spring配置檔案中新增 <aop:aspectj-autoproxy expose-proxy="true"/&g

spring 同一個方法呼叫 註解不起作用

spring  同一個類中方法呼叫 註解不起作用 需要新增 AopContext.currentProxy() 這樣

Android之隱藏Activity介面的方法

moveTaskToBack(true);//activity 隱藏 清單檔案 activity: android:configChanges="orientation|keyboardHidden|keyboard" android:launchMode="singleI