edittext align left
<p>I'm constructing an a sudokusolver-app for android phones.</p>

<p>The user is initially presented with a startpage where he/she is asked to type in the board dimension (4*4, 6*6 etc). Afterwards a new activity is started and a board with the chosen dimensions is drawn. This board consists of squares in the shape of <code>EditText</code> areas. I'm struggling with aligning the text on the left side of the <code>EditText</code> area. The text typed in the <code>EditText</code> area aligns slightly to the left but I want the text to be positioned in the corner. How do I do this? Im only using javacode, not xml</p>

<pre><code>import java.util.ArrayList;

import sudoku.androis.R;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Point;
import android.os.Bundle;
import android.text.Layout;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewGroup.MarginLayoutParams;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Gallery;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class SudokuUI extends Activity{

    int dim;
    EditText[][] board;
    ScrollView sv;
    RelativeLayout ll;
    int params;
    int boxHeight;
    int boxWidth;
    int textSize;
    Button neste;
    Button første;

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        dim = getIntent().getExtras().getInt("key");
        TextView textview = new TextView(this);
        textview.setText(dim + "*" + dim + " brett");

        if(dim == 4) {
            params = 100;
            boxHeight = 2;
            boxWidth = 2;
            textSize = 20;
        }
        else if(dim == 6) {
            params = 70;    
            boxHeight = 2;
            boxWidth = 3;
            textSize = 20;
            }
        else if (dim == 9) {
            params = 50;    
            boxHeight = 3;
            boxWidth = 3;
            textSize = 12;
        }
        else if (dim == 12) {
            params = 40;
            boxHeight = 3;
            boxWidth = 4;
            textSize = 5;
        }
        else if(dim == 16){
            params = 30;
            boxHeight = 4;
            boxWidth = 4;
            textSize = 2;
        }

        sv = new ScrollView(this);
        ll = new RelativeLayout(this);
        ll.addView(textview);
        ll.setBackgroundDrawable(getResources().getDrawable(R.drawable.background1));
        //ll.addView(sv);

        board = new EditText[dim][dim];
        for(int i = 0; i &lt; dim; i++) {
            for(int j = 0; j &lt; dim; j++) {              
                board[i][j] = createEditText();
                //board[i][j].setTextSize(textSize);
                board[i][j].setBackgroundDrawable(getResources().getDrawable(R.drawable.square));
                board[i][j].setTextColor(Color.parseColor("#ff0000"));

                LinearLayout.LayoutParams marginParams = new LinearLayout.LayoutParams(board[i][j].getLayoutParams());
                int paramOne = 0;
                int paramTwo = 0;
                for(int b = 1; b &lt;= boxHeight; b++) {
                    for(int c = 1; c &lt;= boxWidth; c++) {
                        if(i == boxWidth*b){
                            paramOne = 6;
                        } else if(j == boxHeight*c) {
                            paramTwo = 6;
                        }
                    }
                }
                marginParams.setMargins((i)*params + paramOne, (j+1)*params + paramTwo,0,0);

                RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
                board[i][j].setLayoutParams(layoutParams);
                ll.addView(board[i][j]);
            }
        }
        neste = createNesteButton();
        neste.setText("Neste");

        LinearLayout.LayoutParams buttonPar = new LinearLayout.LayoutParams(neste.getLayoutParams());
        buttonPar.setMargins(220,550,0,0);

        RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(buttonPar);
        neste.setLayoutParams(layoutParams);
        ll.addView(neste);

        første = createNesteButton();
        første.setText("Start");

        LinearLayout.LayoutParams buttonPar2 = new LinearLayout.LayoutParams(første.getLayoutParams());
        buttonPar2.setMargins(0,550,0,0);

        RelativeLayout.LayoutParams layoutParams2 = new RelativeLayout.LayoutParams(buttonPar2);
        første.setLayoutParams(layoutParams2);
        ll.addView(første);

        første.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                int[][] numbers = new int[dim][dim];
                for(int i = 0; i &lt; dim; i++) {
                    for(int j = 0; j &lt; dim; j++) {

                        try {

                            numbers[i][j] = Integer.parseInt(board[i][j].getText().toString());
                            validNumber(Integer.parseInt(board[i][j].getText().toString()));

                        } catch (NumberFormatException ne) {
                            numbers[i][j] = 0;

                        } catch (TooHighNumberException te) {
                            numbers[i][j] = 0;
                        }
                    }
                }
            }

        });

        ll.addView(sv);
        setContentView(ll);

    }


    public EditText createEditText(){

        final LayoutParams lparams;
        lparams = new LayoutParams(params,params);
        final EditText edittext = new EditText(this);
        edittext.setGravity(Gravity.FILL_HORIZONTAL);
        edittext.setLayoutParams(lparams);
        return edittext;
    }
    public Button createNesteButton() {

        final LayoutParams lparams;
        lparams = new LayoutParams(200, 80);
        final Button b = new Button(this);
        b.setLayoutParams(lparams);
        return b;
    }

    public void validNumber(int nr) throws TooHighNumberException {

        if(nr &gt; dim || nr &lt; 0) {
            throw new TooHighNumberException();
        }
    }

}

class TooHighNumberException extends Exception{ }
</code></pre>
