【问题标题】:Array of arrays (2d array) not printing in text view like I want.数组数组(二维数组)没有像我想要的那样在文本视图中打印。
【发布时间】:2014-04-09 02:09:24
【问题描述】:

对不起编码!我在为 android 开发方面相当新,我无法按照我想要的方式将我的数组打印到 TextView 中。我知道一些java,但我确信我的编码是“新手”,有很多糟糕的编码。本练习的目的是帮助我更好地理解 Android 和 java。

这是我的代码。 包 com.example.taplature;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {
int counter=0;
Button prev;
Button a;
Button next;
TextView tv;
int row=6;
int col=6;

String[][] array = new String [row][col];



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        prev=((Button) findViewById(R.id.prev));
        a=((Button) findViewById(R.id.printA));
        next=((Button) findViewById(R.id.next));
        tv=((TextView) findViewById(R.id.arrayTv));

        setButtonOnClickListeners();
        setUpArray();
        printArrayToScreen();


    }

    private void printArrayToScreen() {
        // TODO Auto-generated method stub

        for(int i=0;i<row;i++)
            for(int j=0; j<col;j++)
            tv.append(array[i][j]);
    }



    private void setUpArray() {
        // TODO Auto-generated method stub
        for(int i=0; i<row;i++)
            for(int j=0; j<col;j++)
            array[i][j]="-";
    }

    private void setButtonOnClickListeners() {
        // TODO Auto-generated method stub
        prev.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                if(counter==0)
                    counter=0;
                else
                    counter--;
            }



        });
        next.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                counter++;
            }



        });
        a.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                int a=1;
                array[a][counter]="12";
            }


        });


        }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

我正在尝试打印一个大小为 6x6 的小型二维数组,其中包含“-”作为这样的元素。

------
------
------
------
------
------

但在安卓模拟器上它只是

--------------------
----------------

我假设它刚刚到达屏幕的末尾并包装内容?

这个应用程序的目的是打印出数组,用户可以按 next/prev 转到每一列,如果他按“a”,那么它将在数组中放入一个值,尽管我还没有做到足够过去在屏幕上正确打印阵列。我还选择了一个字符串数组,因为我将使用数字和字母。

如果你们能指出我正确的方向,我将不胜感激任何帮助

【问题讨论】:

    标签: java android textview multidimensional-array


    【解决方案1】:

    printArrayToScreen() 需要在每行末尾打印一个换行符:

    private void printArrayToScreen() {
        for(int i=0;i<row;i++) {
            for(int j=0; j<col;j++)
                tv.append(array[i][j]);
            tv.append("\n"); // Append newline after every row
        }
    }
    

    【讨论】:

    • 谢谢!我想我的思维过程有点生疏了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 2014-03-25
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多