Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当editText位于另一个onclick中时,如何在editText字段上使用getText()?_Java_Android_Onclicklistener_Gettext - Fatal编程技术网

Java 当editText位于另一个onclick中时,如何在editText字段上使用getText()?

Java 当editText位于另一个onclick中时,如何在editText字段上使用getText()?,java,android,onclicklistener,gettext,Java,Android,Onclicklistener,Gettext,目前,我的应用程序的问题是,当通过浮动操作按钮onClickListener切换应用程序的视图时,我无法访问editText中的内容,因为它是在单独的for循环中创建的 start\u按钮。setOnClickListener(新的OnClickListener(){ @凌驾 公共void onClick(视图){ 对于(int j=0;j在start\u按钮的站点外定义EditText团队。setOnClickListener(新建OnClickListener()然后在OnClickLis

目前,我的应用程序的问题是,当通过浮动操作按钮onClickListener切换应用程序的视图时,我无法访问editText中的内容,因为它是在单独的for循环中创建的


start\u按钮。setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图){

对于(int j=0;j在
start\u按钮的站点外定义EditText团队。setOnClickListener(新建OnClickListener()
然后在
OnClickListener
方法中初始化它。检查下面的代码

final  EditText team;
start_button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
for(int j=0;j<amount;j++){

                team = new EditText(MainActivity.this);
                team.setHint("TeamName");
                team.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
                ll.addView(team);

                ...
                });

                lm.addView(ll);
            }
            fab2.setVisibility(View.VISIBLE);
                fab2.setOnClickListener(new OnClickListener() {
                    public void onClick(View view) {


        if(lm.getVisibility()==View.GONE|lm2.getVisibility()==View.VISIBLE) {
                            lm2.setVisibility(View.GONE);
                            lm2.removeAllViews();
                            lm.setVisibility(View.VISIBLE);
                        }else{
         if(lm.getVisibility()==View.VISIBLE|lm2.getVisibility()==View.GONE){
                       lm.setVisibility(View.GONE);

                       for(int x=0;x<amount;x++){
                               if(myStringArray[x]==null){
                                   myStringArray[x]="Empty Team Name";
                                   x--;
                               }else {
                                   myStringArray[x] = (team.getText().toString());
                                   TextView score_name = new TextView(MainActivity.this);
                                   TextView final_score = new TextView(MainActivity.this);
                                   score_name.setTextSize(15);
                                   score_name.setTypeface(null, Typeface.BOLD);
                                   final_score.setTextSize(25);
                                   score_name.setLayoutParams(params);
                                   final_score.setLayoutParams(params);
                                   lm2.addView(score_name);
                                   lm2.addView(final_score);
                                   String a = Arrays.toString(myIntArray);
                                   String ar[] = a.substring(1, a.length() - 1).split(", ");

                                   score_name.append(myStringArray[x]);
                                   final_score.append(ar[x]);
                                   score_name.append("\n");
                               }
                            }
                            lm2.setVisibility(View.VISIBLE);
                        }
                    }
                });
最终编辑文本团队;
启动按钮。setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图){

对于(int j=0;j当我尝试以这种方式初始化变量时,它告诉我无法为最终变量team赋值,它需要是最终变量才能从内部类访问。Android studio建议我将团队变量设置为一个单元素数组,但只返回输入到editText框中的最终单词。@BlakeDukes您可以定义它字段作为类变量,然后它们就不会被保留下来。我让它作为editText数组使用,数组的大小取决于循环变量的大小。Is
editText
是您添加到
ll
的唯一视图类型,
ll
lm
中唯一的(单个)视图组
final  EditText team;
start_button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
for(int j=0;j<amount;j++){

                team = new EditText(MainActivity.this);
                team.setHint("TeamName");
                team.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
                ll.addView(team);

                ...
                });

                lm.addView(ll);
            }
            fab2.setVisibility(View.VISIBLE);
                fab2.setOnClickListener(new OnClickListener() {
                    public void onClick(View view) {


        if(lm.getVisibility()==View.GONE|lm2.getVisibility()==View.VISIBLE) {
                            lm2.setVisibility(View.GONE);
                            lm2.removeAllViews();
                            lm.setVisibility(View.VISIBLE);
                        }else{
         if(lm.getVisibility()==View.VISIBLE|lm2.getVisibility()==View.GONE){
                       lm.setVisibility(View.GONE);

                       for(int x=0;x<amount;x++){
                               if(myStringArray[x]==null){
                                   myStringArray[x]="Empty Team Name";
                                   x--;
                               }else {
                                   myStringArray[x] = (team.getText().toString());
                                   TextView score_name = new TextView(MainActivity.this);
                                   TextView final_score = new TextView(MainActivity.this);
                                   score_name.setTextSize(15);
                                   score_name.setTypeface(null, Typeface.BOLD);
                                   final_score.setTextSize(25);
                                   score_name.setLayoutParams(params);
                                   final_score.setLayoutParams(params);
                                   lm2.addView(score_name);
                                   lm2.addView(final_score);
                                   String a = Arrays.toString(myIntArray);
                                   String ar[] = a.substring(1, a.length() - 1).split(", ");

                                   score_name.append(myStringArray[x]);
                                   final_score.append(ar[x]);
                                   score_name.append("\n");
                               }
                            }
                            lm2.setVisibility(View.VISIBLE);
                        }
                    }
                });