0

Android Developer Siteから見つけたこの例のような画像を使用する代わりに、gridView で編集テキストを使用したいと考えています。どのようなアダプターを使用しますか? アダプターも必要ですか?

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    GridView gridview = (GridView) findViewById(R.id.gridview);
    gridview.setAdapter(new ImageAdapter(this));

    gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();
        }
    });
}

わかりましたので、やってみましたが、うまくいきません。クラッシュし続けます。

#輸入品....

public class MainActivity extends Activity{

    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scout);

        GridView gridView = (GridView) findViewById(R.id.gridView);

        //final String[] letters = new String[]{"A", "B", "C", "D", "E", "F", "G", "H", "I"};

        //ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, letters);

        gridView.setAdapter(new ImageAdapter(this));

        gridView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View v,
                    int position, long id) {
                Toast.makeText(getApplicationContext(), ((TextView) v).getText(), Toast.LENGTH_SHORT).show();
            }


        });

    }
}

ImageAdapter.java

//used for adding Edit texts to the grid view in the main activity
#imports....

public class ImageAdapter extends BaseAdapter{

    Context context;

    public ImageAdapter(Context context)
    {
        this.context = context;
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View gridView;
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        if(convertView == null)
        {
            gridView = new View(context);
            gridView = inflater.inflate(R.layout.grid_items, null);

            EditText editText = (EditText) gridView.findViewById(R.id.grid_item_edit_text);
        }
        gridView = (View)convertView;
        return gridView;
    }

    @Override
    public int getCount() {
        return 9;//only 9 pegs on the center rack
    }

    @Override
    public Object getItem(int position) {

        return null;
    }

    @Override
    public long getItemId(int position) {

        return 0;
    }


}
4

1 に答える 1

1

カスタムGridviewが必要です。言い換えれば、カスタムアダプタ
このチュートリアルはあなたを助けます。

于 2012-12-21T06:00:39.410 に答える