0

Androidで数独パズルアプリを作っています。これは私が今までやってきたことです
Text Adapter.java

    public class TextAdapter extends BaseAdapter {
    private Context mContext;
    int count = 81;
    int k = 1;
    private static EditText current = null;

    public TextAdapter(Context c) {
        mContext = c;
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return 81;
    }

    @Override
    public Object getItem(int arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub

        final EditText editText;
        if (convertView == null) {
            editText = new EditText(mContext);
            editText.setLayoutParams(new GridView.LayoutParams(85, 85));
            editText.setPadding(8, 8, 8, 8);
        } else {
            editText = (EditText) convertView;
        }
        editText.setId(k);
        editText.setGravity(Gravity.CENTER);
        editText.setBackgroundResource(R.drawable.rectangle);
        InputFilter[] FilterArray = new InputFilter[1];
        FilterArray[0] = new InputFilter.LengthFilter(1);
        editText.setFilters(FilterArray);

        editText.setOnFocusChangeListener(new OnFocusChangeListener() {

            @Override
            public void onFocusChange(View view, boolean hasFocus) {
                // TODO Auto-generated method stub
                editText.setInputType(InputType.TYPE_NULL);
                if (current != null) {
                    current.setBackgroundResource(R.drawable.rectangle);
                }
                if (hasFocus) {
                    current = (EditText) view;
                    editText.setBackgroundResource(R.drawable.rectangleblue);
                }
            }
        });

        return editText;
    }

    public static EditText getCurrentEditText() {
        return current;
    }

}

edittext の一部に 1 ~ 9 の数字をランダムに入力したいのですが、各 edittext の識別子/名前を取得する方法がわかりません。これは可能ですか?どのように?
私はアンドロイド開発の初心者です。

4

1 に答える 1

0

EditText を作成するときは、それらを親に追加します。

parent.addView(editText);

作成済みの EditText を取得したいときはいつでも、親の子を反復処理できます。

Edittext tempET;
int tempID=0;
for(int i = 0 ; i < parent.getChildCount(); i++) {
     tempET=(EditText) parent.getChildAt(i);
     tempID=tempET.getId();
}
于 2013-10-25T16:05:36.693 に答える