이미지를 유지할 수 있도록 LayoutInflater를 사용하는 어댑터 arraylist를 만들었습니다. 즉 "Beef"라는 항목 제목을 간단하게 축하하려고합니다. 모든게 내가 요청하고 알고 내가 42aa9398Toast Item selected - AdapterView/ArrayList
@ 토스트의 출력 예를
테스트 com.sweatboxbbq.www.sweatboxbbq.Kansas시 $ MyAdaptor $ 항목을 얻고 제외하고 예상대로 workd 의 문자열 값과 나는 그것을 얻고 있지만 코드에서, 나는 내가 원하는 것을 얻는 방법을 알 수 없다. 제목을 붙잡고 싶습니다. 그래서 그것을 다시 토스트 할 수 있습니다 (지금은 다른 방법으로 할 것입니다).
예
items.add(new Item(beef, R.drawable.mine_beef));
나는 "쇠고기"의 문자열 값을 얻을 것 어쩌면 내가 할 수있는 ID 제목의 어떻게 든 이러한 배열 항목과 온 클릭 방법과 거기에서 그들을 끌어은?
아래
public class KansasCity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.kansas_city); final GridView gridView = (GridView) findViewById(R.id.meat_choice); gridView.setAdapter(new MyAdapter(this)); //on click starts here gridView.setOnItemClickListener(new AdapterView.OnItemClickListener(){ public void onItemClick(AdapterView<?> MyAdapter, View v, int position, long id) { String flavorPicked = "" + String.valueOf(MyAdapter.getItemAtPosition(position)); Toast.makeText(KansasCity.this, "Test " + flavorPicked, Toast.LENGTH_LONG).show(); } }); } //gridview public class MyAdapter extends BaseAdapter { public List<Item> items = new ArrayList<Item>(); private LayoutInflater inflater; public MyAdapter(Context context) { inflater = LayoutInflater.from(context); items.add(new Item("Beef", R.drawable.mine_beef)); items.add(new Item("Chicken", R.drawable.mine_chicken)); items.add(new Item("Swine", R.drawable.mine_pork)); items.add(new Item("Fish", R.drawable.mine_pork)); items.add(new Item("Turkey", R.drawable.mine_pork)); items.add(new Item("Sauce", R.drawable.mine_pork)); } @Override public int getCount() { return items.size(); } @Override public Object getItem(int i) { return items.get(i); } @Override public long getItemId(int i) { return items.get(i).drawableId; } @Override public View getView(int i, View view, ViewGroup viewGroup) { View v = view; ImageView picture; TextView name; if (v == null) { v = inflater.inflate(R.layout.gridview_item, viewGroup, false); v.setTag(R.id.picture, v.findViewById(R.id.picture)); v.setTag(R.id.text, v.findViewById(R.id.text)); } picture = (ImageView) v.getTag(R.id.picture); name = (TextView) v.getTag(R.id.text); Item item = (Item) getItem(i); picture.setImageResource(item.drawableId); name.setText(item.name); return v; } private class Item { final String name; final int drawableId; Item(String name, int drawableId) { this.name = name; this.drawableId = drawableId; } } } }
어떤 도움 주셔서 감사합니다 내 자바 코드입니다.
고마워요! 당신의 생명의 은인! 나는 코드를'String flavorPicked = ((KansasCity.MyAdapter.Item) MyAdapter.getItemAtPosition (position))'으로 변경했다. 이름;' 그리고 그것은 효과가 있었다! – Awatatah