2017-01-04 3 views
0

私はベースアダプタでグリッドビューを使用しています。アクティビティが開かれるたびに、デフォルトのビューが中央に表示され、ユーザーが追加するアイテムを追加すると、デフォルトのビューの横に表示されます。Android GridView:デフォルトのビューを中心に

ここでdefaultviewをクリックすると、別のアクティビティが開始され、他のアイテムをクリックすると別のアクティビティが開きます。以下は

は、以下の私の活動は

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.addcompanytogrid_layout); 
     // Bitmap homeIcon = BitmapFactory.decodeResource(this.getResources(), R.drawable.add); 
     //String imageUri = "drawable://" + R.drawable.add; 

     Uri otherPath =Uri.parse("android.resource://tabquote.mycompany.com.myquate/" + R.drawable.add); 
     String imageUri = otherPath .toString(); 

     rowItemstodisplay = new ArrayList<RowItem>(); 
     allitems = new ArrayList<RowItem>(); 

     // RowItem item = RowItem.getInstance(); 
     RowItem item = new RowItem(); 

     String im = item.getImagepath(); 
     String ti = item.getTitle(); 
     rowItemstodisplay.add(new RowItem(im,ti)); 
     RowItem item1 = new RowItem(); 

     item1.setImagepath(im); 
     item1.setTitle("Add Company"); 
     rowItemstodisplay.add(item1); 

     for (int i=0; i<rowItemstodisplay.size(); i++) { 
      allitems.add(rowItemstodisplay.get(i)); 
     } 

     listView = (GridView) findViewById(R.id.gv); 
     CustomBaseAdapter adapter = new CustomBaseAdapter(this, rowItemstodisplay); 
     listView.setAdapter(adapter); 
     listView.setOnItemClickListener(this); 

    } 
+0

あなたの問題は何ですか? – Spartan

+0

デフォルトビューを取得できません。項目が追加されていますが、defaultviewの実装方法がわかりません – hari86

+0

アクティビティコードを追加 –

答えて

0

なぜあなたが定義しているのViewGroupをここにヌルこれに代えて

convertView = mInflater.inflate(R.layout.addcompany_layout, null); 

追加である私のBaseAdapter

public class CustomBaseAdapter extends BaseAdapter { 
    Context context; 
    List<RowItem> rowItems; 

    public CustomBaseAdapter(Context context, List<RowItem> items) { 
     this.context = context; 
     this.rowItems = items; 
    } 

    /*private view holder class*/ 
    private class ViewHolder { 
     ImageView imageView; 
     TextView txtTitle; 

    } 

    public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder holder = null; 

     LayoutInflater mInflater = (LayoutInflater) 
       context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 



      if (convertView == null) { 
       convertView = mInflater.inflate(R.layout.addcompany_layout, null); 
       holder = new ViewHolder(); 

       holder.txtTitle = (TextView) convertView.findViewById(R.id.location); 
       holder.imageView = (ImageView) convertView.findViewById(R.id.addbutton); 
       convertView.setTag(holder); 
      } else { 
       holder = (ViewHolder) convertView.getTag(); 
      } 

      RowItem rowItem = (RowItem) getItem(position); 


      holder.txtTitle.setText(rowItem.getTitle()); 
      holder.imageView.setImageBitmap(BitmapFactory 
        .decodeFile(rowItem.getImagepath())); 
       return convertView; 
    } 

    @Override 
    public int getCount() { 
     return rowItems.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return rowItems.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return rowItems.indexOf(getItem(position)); 
    } 
} 

ある

 convertView = mInflater.inflate(R.layout.addcompany_layout,parent,false); 
関連する問題