2016-11-17 16 views
0

У меня есть gridview в виде клавиатуры, которые состоят из изображений. Я хочу, чтобы каждое изображение в этом gridview могло делиться через долю намерения. Как я могу это сделать?Как использовать Share Intent из gridview в мягкой клавиатуре?

Заранее спасибо

Это код в keyboard.class:

public View buatQuoteView(){ 
    buatInputView(R.layout.quoteview, R.id.emptyKbd, R.xml.empty); 

    final GridView gridView = (GridView) root.findViewById(R.id.quote_grid); 
    gridView.setAdapter(new QuoteGrid(this)); 

    gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      // what should i put here???????? 
     } 
    }); 
    return root; 
} 

это код в QuoteGrid.class:

public class QuoteGrid extends BaseAdapter { 
public Context mContext; 

public Integer[] mThumbIds = { 
     R.drawable.quote1, R.drawable.quote2, R.drawable.quote3, R.drawable.quote4, R.drawable.quote5}; 

// Constructor 
public QuoteGrid(Context c){ 
    mContext = c; 
} 

@Override 
public int getCount() { 
    return mThumbIds.length; 
} 

@Override 
public Object getItem(int position) { 
    return mThumbIds[position]; 
} 

@Override 
public long getItemId(int position) { 
    return 0; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView = new ImageView(mContext); 
    imageView.setImageResource(mThumbIds[position]); 
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
    imageView.setLayoutParams(new GridView.LayoutParams(250, 250)); 
    return imageView; 
} 

}

+0

Щелкните по элементу сетки и поделитесь намерениями. Это верно??? –

+0

В gridview ваше изображение с загружаемым рисунком или сервером? –

+0

@MakeitSimple Я обслуживаю доступные изображения –

ответ

0

У Girdview есть метод setOnItemClickListener (view, .. postion)

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

вы можете получить положение изображения, то вы можете поделиться изображение

+0

как получить позицию? –

+0

смотрите, что выше onItemClick() метод есть ** позиция ** значения, – Vadivel

+0

о, я вижу. просто осознайте это. ха-ха. Спасибо большое. @Vadivel это новая подсказка для меня –

0

Вы можете использовать это на любом клике случае вашего элемента пользовательского интерфейса.

BitmapDrawable bm = (BitmapDrawable) yourImageView.getDrawable(); 
Bitmap mysharebmp = bm.getBitmap(); 
String path = Images.Media.insertImage(getContentResolver(), 
        mysharebmp, "MyImage", null); 
Uri uri = Uri.parse(path); 
Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
sharingIntent.setType("image/png"); 
sharingIntent.putExtra(Intent.EXTRA_STREAM, uri); 
startActivity(Intent.createChooser(sharingIntent, 
        "Share image using")); 
+0

привет, приятель., Спасибо за ответ, я не могу получить доступ к моему ** yourImageView **, он не работает. как это исправить? –