2016-08-03 124 views
0

你好我是Java新手,我正在嘗試做一些事情,所以我需要一些幫助;我有一個構造函數,例如:使用Intent將參數傳遞給靜態構造函數

public static void main(String[] args) throws IOException { 
    access(); 
    key(args[0], args[1]); 
} 

,我想從我的主要活動Android界面的UI這樣傳遞值鍵:

private void enter(String keycode) { 
    String[] args = {"keycode", "pin"}; 
    Intent myIntent = new Intent(MainActivity.this, MainActivity.main()); 
    myIntent.putExtra ("keycode", "pin"); //Optional parameters 
    startActivity(myIntent); 
} 

但我得到一個錯誤也就是說,類型main(String [])不適用於eclipse中的argument()。 鍵碼來自onclick監聽器,我靜態聲明瞭該pin。鍵和引腳應該是main中的arg [0]和arg [1]的值。我沒有運行它或任何東西,我所需要的僅僅是一個正確的語法來調用點擊監聽器構造中的「輸入」的主要靜態方法。 預先感謝您。所以一般來說,我有兩個主要方法所需的參數: access(); //所有參數都是靜態定義的 key(arg [0],arg [1]); 我需要使用intent或者一些可以開始我的活動的方法來傳遞這些參數。全部在同一班。對不起,如果有的話我的無知。 BTW模擬器的接口運行良好,我只需要訪問main(strings [] args),就是那個部分。

回答

3

1)沒有這樣的事情作爲靜態構造函數。整個概念是一個矛盾。

2)Android不使用主要功能。

3)這不是你如何開始一項活動。 Intent的構造函數的第二個參數是一個Class,而不是函數調用 - 不管函數指針是什麼,它都不是合法的java。

你在做什麼是如此困惑我甚至不知道如何解決它。您需要從頭開始從頭開始瞭解有關活動的內容以及Android應用程序的工作原理。

+0

就像我說過的,我對這個概念很陌生,我正在做一些閱讀。我可能混淆了單詞,我的意思是我的方法main()是靜態的,我在上面發佈,並且我試圖通過訪問方法main(string [] args)來輸入剩餘的程序。現在讓我們忘記所有先進的概念,你能告訴我如何將參數傳遞給主代碼塊並調用其中的這些函數來開始我的活動。 – OlaB

+0

您不使用Android中的main。完全一樣。這是一個桌面應用程序的Java概念。你真的需要從書本/教程中重新開始 - 解釋你做錯了什麼是錯誤的。 –

+0

此外,最大的一個 - 這不是像你標記它的JavaScript,它的Java。兩種完全分離的,不相關的語言。 –

0

我已經能夠找到解決我的問題。首先,使用「itent」開始我的活動的想法來自於我嘗試調用一個不同的類,而這個類是作爲一個功能性線程導入到主要活動中的。當我結合我試圖呼叫的腳本時,我真的不需要。 我只問了一個關於如何調用靜態方法的簡單問題,這是我需要做的。 我解決了這只是使用以下行(摘錄)的方式,建立的onclick聽衆按鈕鍵碼和靜態定義腳,因爲這涉及到我的問題後:

private void enter(String keycode) { 
try { 
String[] arguments = new String[] { keycode, pin}; 
MainActivity.main(arguments); 

這是它,我的模擬器和活動工作得很好。順便說一句,android能夠使用主要功能,因爲它工作得很好。 對於那些很容易因爲一個試圖提出問題的新手而感到不安的專家,我認爲他們一定是從某個地方開始的,而且有許多方法可以讓皮膚不僅僅是在思考,而是因爲你試圖以某種方式去做某些事情, 。耐心幫助人們學習。

相關問題