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;
}
}