[英]Pass variable between non-activity class to android activity class
我需要將變量從(非活動類)傳遞到nameget(android活動)類。 在文本視圖中顯示傳遞的變量值。.請告訴我此示例需要做什么。 如何將其傳遞給android活動
public class around(non-activity class)
{
String name = "arjun";
//how to pass this name value to an below activity
nameget nam = new nameget();
String new = nam.get(name);
}
public class nameget extends Activity(android activity class)
{
public String get(String name)
{
String got = name;
TextView t1 = (TextView)findViewById(R.id.textView1);
t1.setText(name);
}
}
嘗試這個
public class around(non-activity class)
{
public static String name = "arjun";
//how to pass this name string to an below activity
}
public class nameget extends Activity(android activity class)
{
TextView t1 = (TextView)findViewById(R.id.textView1);
//your class name around
t1.setText(around.name);
}
嘗試此操作,在您的活動類中聲明您的非活動類。
public class around(non-activity class)
{
Public static String name;
name = "arjun";
//how to pass this name string to an below activity
}
public class nameget extends Activity(android activity class)
{
around ar = new around();
//declare non activity class here
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView t1 = (TextView)findViewById(R.id.textView1);
t1.setText(ar.name);
}
}
您可以簡單地在非活動類中為變量生成getter和setter。
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
現在,您可以從任何地方獲取/設置名稱as的值。
Arround ar = new Arround()
ar.setName("Aruva"); //To set name
ar.getName(); // To get
在您的活動中喜歡..
t1.setText(ar.getName().toString());
您的非活動類可以在同一軟件包中或在src文件夾中的其他軟件包中的任何位置創建。
相當奇怪的問題,因為此處的設計不清楚。 您可以通過意圖包將參數傳遞給活動。 您只有在開始活動時才能通過它們。 活動只能在某些Context對象上啟動(在99%的情況下是其他Activity)。
您可以從某個非活動類開始活動,只要您可以在那里訪問上下文即可。 在按下后退按鈕的情況下,您將要開始的活動需要知道誰是父母。
如果要在啟動時將數據傳遞給活動,請參閱: 如何在Android應用程序的“活動”之間傳遞數據?
如果不是這種情況,請說明您的情況是什么是非活動類,以及它與要將數據傳遞到的活動之間的關系。
解決此類問題的最佳方法是采用事件驅動架構。 您可以使用任何事件庫,建議使用eventBus 。
(在eventbus的范圍內)使用名稱屬性創建一個名為NameChangedEvent的粘性事件
活動時(恢復-暫停時),您的活動將監聽它。 名稱更改時,您將分派此事件,例如
EventBus.getDefault().post(new NameChangedEvent(name));
您的活動將抓住這一點並更新視圖。 它也可以讀取此事件的最新版本onCreate方法。
如果您僅嘗試1個字段,這當然是一個過大的殺傷力。 但是許多應用程序需要處理數據更改並更新其UI,並且擁有事件是實現此目的的最佳方法( imho )。 這可以幫助您輕松地將應用邏輯和UI結合在一起。
如果保存類型為“ Class”的變量,則更容易
示例:(玩得開心)
Class<?> MyClassSave;
MyClassSave = MainActivity.class;
您可以從.class獲取所有值
您可以公開/私有(靜態),也可以通過捆綁/可序列化/ Obj
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.