Java 当editText位于另一个onclick中时,如何在editText字段上使用getText()?
目前,我的应用程序的问题是,当通过浮动操作按钮onClickListener切换应用程序的视图时,我无法访问editText中的内容,因为它是在单独的for循环中创建的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
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数组使用,数组的大小取决于循环变量的大小。IseditText
是您添加到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);
}
}
});