对不起编码!我是一个为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",它会在数组中放入一个值,尽管我还没有在屏幕上正确打印数组。此外,我选择了一个字符串数组,因为我将使用数字和字母。
如果你们能为我指明正确的方向,我将非常感谢的任何帮助
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
}
}