Float Array输入到Display for Android

时间:2013-05-31 08:01:44

标签: android arrays opengl-es

我正在尝试使用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]));


        }
    });`

2 个答案:

答案 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;
 }