1
我已經使用自定義的Adapter創建了圖像的GridView。它工作正常,但現在我想要在運行時獲取這些圖像的ID,以便將它們之下的泡泡對齊。我可以得到行ID,但不是圖像的ID。請幫忙。Android - 獲取動態創建的GridItem的ID
public class GridAdapter extends BaseAdapter {
private Context mContext;
private GridItem[] items;
public GridAdapter(Context c) {
mContext = c;
items = GridItem.values();
//inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return items.length;
}
public GridItem getItem(int position) {
return items[position];
}
public long getItemId(int position) {
return position;
}
public static class ViewHolder {
public ImageView image;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(GridView.LayoutParams.WRAP_CONTENT, GridView.LayoutParams.WRAP_CONTENT));
//imageView.setPadding(10, 10, 10, 10);
} else {
imageView = (ImageView) convertView;
}
imageView.setBackgroundResource(items[position].getResourceId());
if(position == 3) {
ImageView helpBubble = new ImageView(mContext);
}
//imageView.setTag(items[position]);
return imageView;
}
}
UPDATE
它的工作原理!我得到資源ID,但現在我無法在單擊的網格項下添加新視圖。它出現在頂部
LayoutInflater inflate = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
RelativeLayout helpBubble = (RelativeLayout) inflate.inflate(R.layout.bubble, null);
TextView helpText = (TextView) helpBubble.findViewById(R.id.bubble_text);
helpText
.setText("Lorem Epsum Dolor Emit ab asdfj asdflqwe fsadf wqrwqer asdfasdf wfsad asdfasdf rqwerqwrw");
Button moreButton = (Button) helpBubble.findViewById(R.id.bubble_button);
moreButton.setText("More Info");
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.BELOW, item.getResourceId());
gridRL.addView(helpBubble, lp);