2016-06-09 59 views
0

Im在Android Studio中构建应用程序。我的MainActivity非常简单,存在于;将viewpager中的图像保存到自定义gridview画廊

ImageView的(图标)

Viewpager(滑动浏览图片(10X)

的ImageButton(踩图像)

的ImageButton(例如图像)

按钮(我个人的食谱)此按钮发送用户到他们的个人食谱中所有图像都是“喜欢”的。

我试图实现的事情是能够按下ImageButton(Like)并保存的图像,该图像显示来自ViewPager中“My personal Cookbook”。

我还想实现的下一件事是,当按下不喜欢时,Imageviewer删除图像并继续浏览PageViewer中的下一张图像。

我试过在任何地方搜索如何得到这个去,但我找不到它。 因此,我希望这里的某个人能够帮助我解决这两个问题。

随着亲切的问候,

A.

// Locate the ViewPager in viewpager_main.xml 
    viewPager = (ViewPager) findViewById(R.id.pager); 
    // Pass results to ViewPagerAdapter Class 
    adapter = new ViewPagerAdapter(MainActivity.this, mealname, mealpicture); 
    // Binds the Adapter to the ViewPager 
    viewPager.setAdapter(adapter); 

    Button btn = (Button) findViewById(R.id.button3); 

    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      startActivity(new Intent(MainActivity.this, CookbookActivity.class)); 
     } 
    }); 

    // Check Authentication 
    mRef = new Firebase(com.example.sick.foodinspiration.Constants.FIREBASE_URL); 
    if (mRef.getAuth() == null) { 
     loadLoginView(); 
    } 
} 

// Dont pay attention to this 
//public void DislikeMethod(View view){ 
    //Toast.makeText(MainActivity.this, "Dislike :(", Toast.LENGTH_SHORT).show(); 
} 

// Dont pay attention to this 
//public void LikeMethod (View view){ 
    //Toast.makeText(MainActivity.this, "Like :)", Toast.LENGTH_SHORT).show();} 

private void loadLoginView() { 
    Intent intent = new Intent(this, LoginActivity.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 
    startActivity(intent); 
} 
+0

你的按钮在哪里? –

+0

目前尚未添加到MainActivity中。但他们将被置于DislikeMethod和LikeMethod中。 ImageButtons布局放置在activity_main – 1337

回答

0
Button likebtn = (Button) findViewById(R.id.likebtn); 
    Button dislikebtn = (Button) findViewById(R.id.dislikebtn); 

    likebtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      //LikeMethod(); 
     } 
    }); 

    dislikebtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      viewPager.setCurrentItem(viewPager.getCurrentItem()+1);//move to next image 
      //DisLikeMethod(); 
     } 
    }); 
+0

好吧我已经添加viewPager.setCurrentItem(viewPager.getCurrentItem()+ 1); 不喜欢ImageButton和喜欢ImageButton。我可以通过这个视图来看这个视图。所以这意味着我的第二个问题是固定的。 Thnx帮助我实现这一目标! 下一步是在按下LikeButton时将当前项目保存在GridView(CookbookActivity)中。 我应该为此创建一个数据库吗? 我目前正在使用Firebase。所以用户必须填写他/她的电子邮件和密码。 (这工作正常) – 1337

+0

多数民众赞成多好你的一个问题是解决接受我的答案,以便它可以帮助其他你应该需要数据库,如果需要,否则你也可以使用sharedpref那 –

0

使用SQLite数据库实现这个

首先创建一个名为MyCookBook表并创建列,例如ID(整数) ,ImagePath/Url(文本),isLike(int 0,1)

一旦用户点击类似按钮如果用户点击不喜欢按钮设置isLike列0,反之亦然插入的图片路径,并设置isLike列1 (如开/关)

选择MyCookBook表,该表是行isLike为是你的“我的个人食谱“

我希望这可以帮助你。

+0

好吧,这确实使分配的意义。 但是我目前正在使用firebase,因此用户必须输入他/她的电子邮件和密码,然后才能使用该应用程序。 我仍然应该在sqlite数据库中做或者将所有内容保存在firebase中? – 1337

+0

有人对此问题有任何回复吗? – 1337