字符串无法转换为 android.widget.Button
String cannot be cast to android.widget.Button
我正在尝试动态添加按钮并将这些按钮连续添加。
在下面的代码摘要中,我遇到了这个错误:
java.lang.String cannot be cast to android.widget.Button
我一直在搜索类似的错误信息,但我的解决不了。
这是我的代码:
for (int i = 1; i < 5; i++) {
a=a+a;
FrameLayout.LayoutParams a = new FrameLayout.LayoutParams(262, 146);
a.leftMargin = coorX; coorX = coorX + 250;
FrameLayout layout = (FrameLayout) findViewById(R.id.layout1);
layout.addView (((Button)boton.get(i)),a); // here's the error
((Button)boton.get(i)).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
switch (((Button)view).getId()){
case 1: recuadro("wǒ", 1); break;
case 2: recuadro("hěn", 2); break;
case 3: recuadro("ne", 3); break;
case 4: recuadro("nĭ ne?", 4); break;
case 5: recuadro("yě", 5); break;
}
});
}
boton
是一个字符串列表,您将其元素转换为 Buttons
。因此,错误消息 java.lang.String cannot be cast to android.widget.Button
.
尝试创建一个按钮而不是添加一个字符串
new Button("Here the string");
你的情况:
new Button(boton(i))
编辑
for (int i = 1; i < 5; i++) {
a=a+a;
FrameLayout.LayoutParams a = new FrameLayout.LayoutParams(262, 146);
a.leftMargin = coorX; coorX = coorX + 250;
FrameLayout layout = (FrameLayout) findViewById(R.id.layout1);
Button buttonToAdd = new Button(boton.get(i));
layout.addView (buttonToAdd,a); // here's the error
buttonToAdd.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
switch (((Button)view).getId()){
case 1: recuadro("wǒ", 1); break;
case 2: recuadro("hěn", 2); break;
case 3: recuadro("ne", 3); break;
case 4: recuadro("nĭ ne?", 4); break;
case 5: recuadro("yě", 5); break;
}
});
}
如果我没看错的话是这样的
我正在尝试动态添加按钮并将这些按钮连续添加。
在下面的代码摘要中,我遇到了这个错误:
java.lang.String cannot be cast to android.widget.Button
我一直在搜索类似的错误信息,但我的解决不了。
这是我的代码:
for (int i = 1; i < 5; i++) {
a=a+a;
FrameLayout.LayoutParams a = new FrameLayout.LayoutParams(262, 146);
a.leftMargin = coorX; coorX = coorX + 250;
FrameLayout layout = (FrameLayout) findViewById(R.id.layout1);
layout.addView (((Button)boton.get(i)),a); // here's the error
((Button)boton.get(i)).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
switch (((Button)view).getId()){
case 1: recuadro("wǒ", 1); break;
case 2: recuadro("hěn", 2); break;
case 3: recuadro("ne", 3); break;
case 4: recuadro("nĭ ne?", 4); break;
case 5: recuadro("yě", 5); break;
}
});
}
boton
是一个字符串列表,您将其元素转换为 Buttons
。因此,错误消息 java.lang.String cannot be cast to android.widget.Button
.
尝试创建一个按钮而不是添加一个字符串
new Button("Here the string");
你的情况:
new Button(boton(i))
编辑
for (int i = 1; i < 5; i++) {
a=a+a;
FrameLayout.LayoutParams a = new FrameLayout.LayoutParams(262, 146);
a.leftMargin = coorX; coorX = coorX + 250;
FrameLayout layout = (FrameLayout) findViewById(R.id.layout1);
Button buttonToAdd = new Button(boton.get(i));
layout.addView (buttonToAdd,a); // here's the error
buttonToAdd.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
switch (((Button)view).getId()){
case 1: recuadro("wǒ", 1); break;
case 2: recuadro("hěn", 2); break;
case 3: recuadro("ne", 3); break;
case 4: recuadro("nĭ ne?", 4); break;
case 5: recuadro("yě", 5); break;
}
});
}
如果我没看错的话是这样的