2016-06-09 85 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