[英]No empty constructor: android class
我的問題是,我在活動之間傳輸兩個數組。 從一個活動返回到另一個活動。 我在那里通過構造函數得到這兩個活動(我想)。 這個對嗎? 為什么我收到錯誤:沒有空構造函數?
以下是Activites來自的課程:
public PlanOutputActivity fetchallRoutes(String startStop, String endStop, String time) {
.
.
.
return new PlanOutputActivity(convertArray(),routenArray);
這是我的活動,我想得到這兩個陣列:
public class PlanOutputActivity extends Activity {
Intent intent;
Object[][] routenArray;
String[][] itemsArray;
DatabaseHelperActivity mdbH;
public int RESULT_OK = 123;
public int REQUEST_OK = 456;
public PlanOutputActivity(String[][] itemsArray, String[][] routenArray){
setContentView(R.layout.planoutputlayout);
this.routenArray = routenArray;
this.itemsArray = itemsArray;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated constructor stub
super.onCreate(savedInstanceState);
}
public void getRoute() {
intent = getIntent();
mdbH = new DatabaseHelperActivity(this);
mdbH.fetchallRoutes(intent.getStringExtra("StartHaltestelle"),intent.getStringExtra("ZielHaltestelle"),intent.getStringExtra("Zeit"));
ListView lvList = (ListView)findViewById(R.id.ListOutput);
ArrayAdapter<DefineRouteActivity> adapter = new RouteAdapterActivity(this, route);
lvList.setAdapter(adapter);
lvList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
int gKennung = view.getId();
Intent intent = new Intent(getApplicationContext(),DetailOutputActivity.class);
intent.putExtra("Kennung",gKennung);
intent.putExtra("routenArray",routenArray);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
});
}
您無法使用new
創建Android Activity
的實例 - 它根本不起作用。
創建Activity
的唯一方法是從Apps啟動器啟動時,或者調用startActivity(...)
(或其他方法之一,如startActivityForResult(...)
等)。
因此,您不應該為Activity
創建構造函數,並且您永遠不應創建public static
字段或方法,以便從任何其他應用程序類訪問數據或調用Activity
方法。
如果要將數據從一個Activity
傳遞到另一個Activity
,請使用Intent
的extras或僅將數據保存在SharedPreferences
或數據庫中。 或者創建一個'helper'類來保存數據 - 使用Singleton模式很常見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.