2016-09-15 4 views
1

ニュースアプリを作成しようとしているときに、ユーザーがメニューのブックマークボタンをクリックするたびにactivity_main_drawerのブックマークに保存されます。ここでandroid - ボタンをクリックしてブックマークにページを保存する方法

は私のMainActivity.java

ここ
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

CheckBox bookmark = (CheckBox) findViewById(R.id.checkbox2);

bookmark.setOnClickListener(new View.OnClickListener() { 
     @Override 

     public void onClick(View view) { 

     //I don't know what to type here   

     } 
    }); 
    bookmark.setOnLongClickListener(new View.OnLongClickListener() { 


     @Override 
     public boolean onLongClick(View v) { 

      // Open the favourite Activity, which in turn will fetch the saved favourites, to show them. 
      Intent intent = new Intent(getApplicationContext(), CheckBox.class); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      getApplicationContext().startActivity(intent); 

      return false; 
     } 
    }); 

は私activity_main_drawerが

<?xml version="1.0" encoding="utf-8"?> 

<group> 
    <item 
     android:id='@+id/checkbox' 
     android:checkable="true" 
     android:title='Save for offline' 
     android:icon='@android:drawable/checkbox_off_background' 
     android:checked="@android:drawable/checkbox_on_background" /> 
    <item 
     android:id="@+id/bookmark" 
     android:title="Bookmarks" 
     android:icon="@drawable/ic_star_border_black_24dp"/> 

</group> 

<item android:title="Communicate"> 
    <menu> 
     <item 
      android:id="@+id/call" 
      android:title="Call Us" 
      android:icon="@drawable/ic_phone_black_24dp" /> 
     <item 
      android:id="@+id/nav_send" 
      android:icon="@drawable/ic_menu_send" 
      android:title="Send Us A Feedback" /> 
     <item 
      android:id="@+id/share" 
      android:title="Share With Friends" 
      android:icon="@drawable/ic_menu_share" /> 
     <item 
      android:id="@+id/facebook" 
      android:title='Facebook' 
      android:icon="@drawable/facebook"/> 
     <item 
      android:id="@+id/facebookpage" 
      android:title="Facebook Page" 
      android:icon="@drawable/facebook" /> 
     <item 
      android:id='@+id/twitter' 
      android:title='Twitter' 
      android:icon='@drawable/twitter' /> 
     <item 
      android:id="@+id/google" 
      android:title='Google Plus' 
      android:icon='@drawable/google' /> 
     <item 
      android:id="@+id/website" 
      android:title="Website" 
      android:icon="@drawable/ic_public_black_24dp"/> 
    </menu> 
</item> 
<item android:title='About'> 
    <menu> 
     <item 
      android:id="@+id/aboutus" 
      android:title='About Us' 
      android:icon='@drawable/ic_people_black_24dp' /> 
    </menu> 
</item> 
<item 
    android:id="@+id/subscribe" 
    android:title="Subscribe To Get Emails" 
    android:icon="@drawable/ic_mail_outline_black_24dp" /> 
です

どうすればよいですか?

答えて

0

これを行う最善の方法は、アカウントシステムを使用してこのような種類のデータをサーバーに保存することです。これをしたくない場合は、ブックマークを共有設定に保存できます。ユーザーがアプリケーションのデータを削除すると、設定も削除されます。

とにかくあなたが行うことができ、共有環境設定で保存するには:

private static final String BOOKMARKS_PREFERENCES = "bookmarks_preferences"; 

のonClick内の共有環境設定でアイテムを保存するには、以下のコードを使用します。

SharedPreferences.Editor editor = getSharedPreferences(BOOKMARKS_PREFERENCES, MODE_PRIVATE).edit(); 
    editor.putBoolean("itemId", true); 
    apply(); 

ブックマークを取得したいとき(のために例:ブックマークを視覚化したい場合):

SharedPreferences preferences = getSharedPreferences(BOOKMARKS_PREFERENCES, MODE_PRIVATE); 
     boolean isBookmark = preferences.getBoolean("itemId", false); 

getBooleanはデフォルト値です

+0

Patrizio Boccazzi、 "itemId"をブックマークに置き換える必要がありますか? –

+0

はい、これは唯一の識別子です –

関連する問題