주어진 행과 열 번호로 숫자 표를 생성하려고합니다. 이 프로그램은 사용자로부터 두 개의 매개 변수를 가져 와서 지정된 매개 변수가있는 테이블 행과 열을 작성합니다. 각 셀의 난수 값은 1에서 100 사이입니다. 지금까지 필자는 내 매개 변수가 될 2 개의 다른 EditText보기를 사용하여 XML을 코딩했습니다. "만들기", "계산", "재설정", "종료"의 4 가지 버튼이 있습니다. 사용자가 "Create"버튼을 클릭하면 지정된 행과 열 값으로 테이블이 생성됩니다. 따라서 XML 파일 대신 Java 파일에서 테이블을 만들어야합니다.Android 프로그래밍 방식으로 표 만들기
public class MainActivity extends AppCompatActivity {
private Button btnCreate, btnCalculate, btnReset, btnExit;
private EditText txtColumn, txtRow;
private LinearLayout linLayout;
private TableLayout table;
private TextView txtResult;
private Random random;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnCreate = (Button) findViewById(R.id.btnCreate);
btnCalculate = (Button) findViewById(R.id.btnCalculate);
btnReset = (Button) findViewById(R.id.btnReset);
btnExit = (Button) findViewById(R.id.btnExit);
txtColumn = (EditText) findViewById(R.id.txtColumn);
txtRow = (EditText) findViewById(R.id.txtRow);
txtResult = (TextView) findViewById(R.id.txtResult);
txtColumn.requestFocus();
random = new Random();
TableLayout table = new TableLayout(this);
btnCalculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
btnCreate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
table.setLayoutParams(new TableLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
table.setShrinkAllColumns(true);
table.setStretchAllColumns(true);
int columnNumber = Integer.parseInt(txtColumn.getText().toString());
int rowNumber = Integer.parseInt(txtRow.getText().toString());
for(int i=0; i<rowNumber; i++) {
TableRow row = new TableRow();
for(int j=0; i<columnNumber; i++) {
int value = random.nextInt(100) + 1;
TextView tv = new TextView();
tv.setText(String.valueOf(value));
row.addView(tv);
}
table.addView(row);
}
}
});
btnExit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.exit(0);
}
});
btnReset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
txtColumn.setText(null);
txtRow.setText(null);
txtResult.setText(null);
}
});
}
}
내가 내 "에 대한"루프에서 오류가 점점 오전 :
이 지금까지 내 코드입니다. "TableRow"는 내부에 Context 매개 변수를 가져와야한다고 말합니다. 그러나 실제로 어떤 종류의 매개 변수가 필요한지 이해하지 못했습니다. 프로그래밍 방식으로 테이블 만들기를 검색하려고했지만 지금까지는 아무런 운이 없었습니다. 이 오류를 어떻게 수정해야합니까?
제공 한 코드가 작동했지만 응용 프로그램을 실행할 때 아무 일도 없었습니다. 나는 매개 변수를 주었지만 표는 작성되지 않았습니다. – rawsly
보기에 테이블보기를 추가하지 않았기 때문에 테이블을 만들었지 만 xml의 모든보기에 해당 테이블을 추가하지 않아도됩니다. – Munir
답장을 보내 주셔서 감사합니다! XML 내에서 새로운 LinearLayout을 작성하고 고유 한 ID를 부여했습니다. 그런 다음이 레이아웃 안에 내 테이블을 추가했습니다. 자, 나는 테이블 스타일링을해야만한다. 답변 주셔서 감사합니다! – rawsly