|  |  | 
          
            | ผมจะทำให้แอฟของผม แชร์รูปจาก gridview ที่ผมทำผ่าน facebook  ครับ  ใช้ Facebook sdk แล้วทีนี้  มันไม่มีอะไรเกิดขึ้นเลย นี่คือหน้า Image Adapter สำหรับView และส่งค่าไป เพื่อ เปิด รูปเต็มไปอีก Activity
 
 Code (Android-Java)
 
 public class ImageAdapter extends BaseAdapter {
private Context context;
ImageView imageview;
public ImageAdapter(Context context) {
    this.context = context;
}
@Override
public int getCount() {
    return getImageSD().length;
}
@Override
public Object getItem(int i) {
    return null;
}
@Override
public long getItemId(int i) {
    return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup viewGroup) {
    if (convertView == null) {
        imageview = new ImageView(context);
        imageview.setPadding(8, 8, 8, 8);
        imageview.setLayoutParams(new GridView.LayoutParams(85, 80));
        imageview.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(context, "position[" + position + "]", Toast.LENGTH_SHORT).show();
                Intent i = new Intent(context, DisplayImageActivity.class);
                i.putExtra("imgId", path[position]);
                context.startActivity(i);
            }
        });
    }else{
        imageview=(ImageView)convertView;
    }
    imageview.setImageURI(getImageSD()[position]);
    return imageview;
}
Uri[]uri;
String[] path=null;
public Uri[] getImageSD(){
    File file = new File(
            android.os.Environment.getExternalStorageDirectory()
                    + File.separator + AppConstant.PHOTO_ALBUM);
    File[] filelist = file.listFiles(new FilenameFilter() {
        @Override
        public boolean accept(File dir, String name) {
            return ((name.endsWith(".jpg")||(name.endsWith(".png")||(name.endsWith(".bmp")))));
        }
    });
    path = new String[filelist.length];
    for(int i=0;i<filelist.length;i++){
        path[i]=filelist[i].getAbsolutePath();
    }
    uri=new Uri[path.length];
    for(int q=0;q<path.length;q++){
        uri[q]=Uri.parse(path[q]);
    }
    return uri;
}
 
 อันนี้ คือหน้า ที่แสดง รูปเต็ม ที่รับ ค่า มาจาก IMage adapter ครับ แล้ว ผม ทำการ ใส่ event ที่ ปุ่ม เพื่อ ให้ มัน แชร์ แต่ติดปัญหาที่ มัน ไม่มี อะไรเกิดขึ้นเลย กด ก็ไม่มีอะไรเกิดขึ้นเลย ครับ สาเหตุเกิดจากอะไรหรอครับ
 
 Code (Android-Java)
 
 public class DisplayImageActivity  extends Activity {
Button buttontest;
private Utils utils;
private ViewPager viewPager;
public CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.full_photo);
    FacebookSdk.sdkInitialize(getApplicationContext());
    callbackManager = CallbackManager.Factory.create();
    final List<String> permissionNeeds = Arrays.asList("publish_actions");
    //this loginManager helps you eliminate adding a LoginButton to your UI
    final LoginManager manager = LoginManager.getInstance();
    manager.logInWithPublishPermissions(this, permissionNeeds);
    Bundle bundle=getIntent().getExtras();
    //int imgId =bundle.getInt();
    String imageId=bundle.getString("imgId");
    final Uri uri=Uri.parse(imageId);
    ImageView image=(ImageView)findViewById(R.id.ImageView1);
    image.setImageURI(uri);
    //image.setImageResource();
    Button btnclose = (Button)findViewById(R.id.btnClose);
    btnclose.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            finish();
        }
    });
    buttontest=(Button)findViewById(R.id.btnShared);
    buttontest.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            manager.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {
                    sharedPhoto();
                }
                @Override
                public void onCancel() {
                    Toast.makeText(getApplicationContext(), "Cancle", Toast.LENGTH_SHORT).show();
                    System.out.println("onCancel");
                }
                @Override
                public void onError(FacebookException exception) {
                    System.out.println("onError");
                }
            });
            // Toast.makeText(getApplicationContext(), "position[" + uri + "]", Toast.LENGTH_SHORT).show();
        }
    });
}
public void sharedPhoto(){
   /* Bundle bundle=getIntent().getExtras();
    String imageId2=bundle.getString("imgId");
    Uri uri2=Uri.parse(imageId2);*/
    Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.shared_icon);
    SharePhoto photo = new SharePhoto.Builder()
            .setBitmap(image)
            .setCaption("Test FaceBook Api My Apps")
            .build();
    SharePhotoContent content = new SharePhotoContent.Builder()
            .addPhoto(photo)
            .build();
    ShareApi.share(content, null);
}
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
}
 
 
 Tag : Mobile
 
 
 |  
            |  |  
            | 
              
                |  |  |  |  
                |  | 
                    
                      | Date :
                          2015-06-23 10:04:16 | By :
                          yieldza | View :
                          2417 | Reply :
                          1 |  |  |  
                |  |  |  |  |  
            |  |  
		            |  |