2016-11-22 82 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