2016-11-22 103 views
-2

所以我知道onClick部分是無用的,但爲了萬一它確實改變了任何東西,我就把它放在那裏。所以我得到了onClick,並且我希望它將editText添加到當前活動中,這被稱爲activity_calculation。 目前,我有這個代碼,這是我從另一個問題了:Android添加editText proggramatically onClick

public void addCalc(View view){ 

EditText myEditText = new EditText(context); // Pass it an Activity or Context 
     myEditText.setLayoutParams(new LinearLayoutCompat.LayoutParams(MATCH_PARENT,WRAP_CONTENT)); // Pass two args; must be LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, or an integer pixel value. 
     activity_calculation.addView(myEditText); 

    } 

任何幫助,將不勝感激。也許你可以看到什麼是做錯了

+0

爲什麼你正在創建的onClick ....你隱藏的onClick同樣在編輯文本和更改的知名度......這可能是容易的....你可以認爲太...如果可能的話 –

+1

@ MaharithAdityaSS我使用onClick,因爲我需要用戶根據需要添加編輯文本,它不是一個固定的數量,如果你明白我的意思,我可以在其中更改可見性。 –

+0

[Android以編程方式添加textview]可能的重複(http://stackoverflow.com/questions/16730618/android-adding-textview-programatically) – AxelH

回答

2

首先得到活動的根佈局的引用。爲此,請在活動佈局文件的根佈局中添加一個id屬性。例如:

<LinearLayout 
    android:id="+id/rootLayout" /> 

然後,獲取對它的引用並添加創建的EditText。

//If your root layout is a RelativeLayout, use that instead 
LinearLayout rootView = (LinearLayout) findViewById(R.id.rootLayout); 
EditText myEditText = new EditText(rootView.getContext()); 
myEditText.setLayoutParams(new LinearLayoutCompat.LayoutParams(MATCH_PARENT,WRAP_CONTENT)); 
rootView.addView(myEditText); 
+0

謝謝,這是有幫助:)讚賞 –

+0

究竟應該在圓括號上下文 –

+0

嘗試rootView.getContext() – rhari