Java tutorial
/********************************************************************************** * Bismillahir Rahmanir Rahim, ALLAHU AKBAR * * The MIT License (MIT) * * * * Copyright (c) 2014 Mohammed Sazid-Al-Rashid * * * * Permission is hereby granted, free of charge, to any person obtaining a copy * * of this software and associated documentation files (the "Software"), to deal * * in the Software without restriction, including without limitation the rights * * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * * copies of the Software, and to permit persons to whom the Software is * * furnished to do so, subject to the following conditions: * * * * The above copyright notice and this permission notice shall be included in all * * copies or substantial portions of the Software. * * * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * * SOFTWARE. * **********************************************************************************/ package com.mohammedsazidalrashid.android.sunshine; import android.app.Fragment; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.MenuItemCompat; import android.support.v7.app.ActionBarActivity; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.support.v7.widget.ShareActionProvider; import android.widget.TextView; public class DetailsFragment extends Fragment { private static final String LOG_TAG = DetailsFragment.class.getSimpleName(); private static final String FORECAST_SHARE_HASHTAG = " #SunshineApp"; public DetailsFragment() { } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ((ActionBarActivity) getActivity()).getSupportActionBar().setTitle(getString(R.string.label_details)); setHasOptionsMenu(true); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_details, container, false); // Intent intent = getActivity().getIntent(); // String forecast = intent.getExtras().getString(ForecastFragment.EXTRA_FORECAST); String forecast = MainActivity.bundleForFragments.getString(ForecastFragment.EXTRA_FORECAST); TextView forecastTv = (TextView) rootView.findViewById(R.id.textview_forecast_details); forecastTv.setText(forecast); return rootView; } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.detailsfragment, menu); MenuItem item = menu.findItem(R.id.action_share); ShareActionProvider mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(item); if (mShareActionProvider != null) { mShareActionProvider.setShareIntent(createShareForecastIntent()); } else { Log.e(LOG_TAG, "Share action provider is null"); } } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } private Intent createShareForecastIntent() { Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); shareIntent.setType("text/plain"); shareIntent.putExtra(Intent.EXTRA_TEXT, MainActivity.bundleForFragments.getString(ForecastFragment.EXTRA_FORECAST) + FORECAST_SHARE_HASHTAG); return shareIntent; } }