我正在尝试使用opengl为android制作一个非常简单的cad程序。所以我想弄清楚如何将x,y,z浮点值从编辑文本视图输入到数组。这是我开始的代码,它将浮动数组显示到文本视图但是当我运行应用程序时我输入数字然后它崩溃了。
`public class MainActivity扩展了Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bline = (Button) findViewById(R.id.line);
final EditText inPut = (EditText) findViewById(R.id.input);
final View display =(View ) findViewById(R.id.display);
final View Info =(View) findViewById(R.id.info);
bline.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int i = 0;
final float[] line = new float[10000];
((TextView) Info).setText("Point 1");
float coords = Float.valueOf(inPut.getText().toString());
for (i=0;i<line.length-1;i++){
line[i]=coords;
}
((TextView) display).setText(String.valueOf(line[i]));
}
});`
答案 0 :(得分:0)
((TextView) display).setText((int) (line[i]=coords));
这是你的问题。你很想使用setText(int resId)方法,并且该字符串id不存在。
中改变它 line[i] = coords;
((TextView) display).setText(String.valueOf(line[i]));
答案 1 :(得分:0)
您的float数组的大小为0,因为您使用:
实例化它final float[] line = new float[i];
其中i被初始化为0.然后你尝试为位置线[0]分配一个值,但是行[0]不存在。此外,在你的for循环中,你应该在我等于length-1时停止,而不是长度,否则你将获得IndexOutOfRange异常:
for (i=0;i<line.length;i++){
line[i]=coords;
}