分享意图不能正常工作

时间:2015-11-26 15:41:44

标签: java android arrays string sharing

我有一个报价申请。我已经实现了共享和复制功能。我面临的问题是我没有第一次分享报价。意味着如果列表中有50个引号,并且如果我尝试从列表中共享任何引用而不是它没有共享任何内容。之后,如果我继续引用另一个引用并试图分享而不是其工作罚款。我在复制功能方面也有同样的问题。我也面临一些时间问题,如果我分享报价数字50而不是分享另一个数字报价。请帮我解决这个bug。谢谢 我的活动就像下面一样。

 

public class QuoteDialogActivity extends Activity {

	DAO db;

	static final String KEY_ID = "_quid";
	static final String KEY_TEXT = "qu_text";
	static final String KEY_AUTHOR = "au_name";
	static final String KEY_PICTURE = "au_picture";
	static final String KEY_PICTURE_SDCARD = "au_picture_sdcard";
	static final String KEY_FAVORITE = "qu_favorite";
	static final String KEY_WEB_ID = "au_web_id";

	ArrayList<HashMap<String, String>> quotesList;
	HashMap<String, String> map;
	ImageButton btnnext,btnprev,star,copy;
	 int pos,lstcount = 0;
	 ScrollView ll_quote;
	 String quote_id;

	TextView text;


	String quText, quAuthor, quPicture, quFavorite,quoteShare;
	int auPictureSDCard;

	String isFavorite;
	
	String auPictureDir;
	String siteUrl;

	private ImageLoader imgLoader;

	/**
	 * Register your here app https://dev.twitter.com/apps/new and get your
	 * consumer key and secret
	 * */
	String TWITTER_CONSUMER_KEY;
	String TWITTER_CONSUMER_SECRET;

	// Preference Constants
	static String PREFERENCE_NAME = "twitter_oauth";
	static final String PREF_KEY_OAUTH_TOKEN = "oauth_token";
	static final String PREF_KEY_OAUTH_SECRET = "oauth_token_secret";
	static final String PREF_KEY_TWITTER_LOGIN = "isTwitterLogedIn";

	// Twitter oauth urls
	static final String URL_TWITTER_AUTH = "auth_url";
	static final String URL_TWITTER_OAUTH_VERIFIER = "oauth_verifier";
	static final String URL_TWITTER_OAUTH_TOKEN = "oauth_token";

	static final String PREF_KEY_FACEBOOK_LOGIN = "isFacebookLogedIn";

	Typeface tf;

	// Internet Connection detector
	private ConnectionDetector cd;

	// Alert Dialog Manager
	AlertDialogManager alert = new AlertDialogManager();

	String quote;
	ProgressDialog pDialog;
	private SharedPreferences mSharedPreferences;

	private static SharedPreferences facebookPreferences, twitterPreferences;
	Cursor c, c2;

	private static final List<String> PERMISSIONS = Arrays.asList("publish_actions");
	private static final String PENDING_PUBLISH_KEY = "pendingPublishReauthorization";
	private boolean pendingPublishReauthorization = false;

	//private UiLifecycleHelper uiHelper;

	// ==============================================================================

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		imgLoader = new ImageLoader(this);
		
		//TWITTER_CONSUMER_KEY = getResources().getString(R.string.TWITTER_CONSUMER_KEY);
		//TWITTER_CONSUMER_SECRET = getResources().getString(R.string.TWITTER_CONSUMER_SECRET);
		
	//	uiHelper = new UiLifecycleHelper(this, callback);
		//uiHelper.onCreate(savedInstanceState);

		mSharedPreferences = getApplicationContext().getSharedPreferences("MyPref", 0);

		//facebookPreferences = getApplicationContext().getSharedPreferences("facebookPref", 0);
		//twitterPreferences = getApplicationContext().getSharedPreferences("twitterPref", 0);

		db = new DAO(this);
		db.open();
		c2 = db.getSettings();
		if (getIntent().getIntExtra("isQOTD", 0) == 1) {
			c = db.getOneQuote(mSharedPreferences.getString("QOTD", ""));
		} else {
			c = db.getOneQuote(getIntent().getStringExtra("QuoteId"));
		}

//		if (c.getCount() != 0) {
			requestWindowFeature(Window.FEATURE_NO_TITLE);
			setContentView(R.layout.quote_dialog);

			// ============================ check if user want to display
			// ============================ background image for quote

			if (c2.getString(c2.getColumnIndex("background")).equals("1")) {

				Random random = new Random();
				int idNumber = random.nextInt(20 - 1 + 1) + 1;
				RelativeLayout layout = (RelativeLayout) findViewById(R.id.RelativeLayout1);
				Drawable d = null;
				try {
					View topShadow = (View) findViewById(R.id.topShadow);
					View bottomShadow = (View) findViewById(R.id.bottomShadow);
					topShadow.setVisibility(View.INVISIBLE);
					bottomShadow.setVisibility(View.INVISIBLE);
					d = Drawable.createFromStream(getAssets().open("backgrounds/" + String.valueOf(idNumber) + ".jpg"),
							null);

					layout.setBackgroundDrawable(d);
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}

			}

			// ===========================================================================================

			quText = c.getString(c.getColumnIndex(KEY_TEXT));
			quAuthor = c.getString(c.getColumnIndex(KEY_AUTHOR));
			quPicture = c.getString(c.getColumnIndex(KEY_PICTURE));
			auPictureSDCard = c.getInt(c.getColumnIndex(KEY_PICTURE_SDCARD));
			quFavorite = c.getString(c.getColumnIndex(KEY_FAVORITE));

			text = (TextView) findViewById(R.id.text); // title
		//	tf = Typeface.createFromAsset(getAssets(), "fonts/devnew.ttf");
			//text.setTypeface(tf);

//			author = (TextView) findViewById(R.id.author); // author
//			picture = (ImageView) findViewById(R.id.picture); // thumb

			text.setText(quText);
//			author.setText("- " + quAuthor.trim());

//			if (auPictureSDCard == 0) {
//				AssetManager assetManager = getAssets();
//				InputStream istr = null;
//				try {
//					istr = assetManager.open("authors_pics/" + quPicture);
//				} catch (IOException e) {
//					Log.e("assets", assetManager.toString());
//					e.printStackTrace();
//				}
//				Bitmap bmp = BitmapFactory.decodeStream(istr);
//				picture.setImageBitmap(bmp);
//			} else {
//				siteUrl = getResources().getString(R.string.siteUrl);
//
//				auPictureDir = siteUrl + "global/uploads/authors/";
//				imgLoader.DisplayImage(
//						auPictureDir + quPicture, picture);
//			}

			
			AssetManager assetManager = getAssets();
			InputStream istr = null;
			try {
				istr = assetManager.open("authors_pics/" + quPicture);
			} catch (IOException e) {
				Log.e("assets", assetManager.toString());
				e.printStackTrace();
			}
//			Bitmap bmp = BitmapFactory.decodeStream(istr);
//			picture.setImageBitmap(bmp);

			final ImageButton dismiss = (ImageButton) findViewById(R.id.close);
			dismiss.setOnClickListener(new View.OnClickListener() {
				public void onClick(View v) {
					finish();
				}
			});

			
			
//=============================Next Button and Prev Button
			star = (ImageButton) findViewById(R.id.star);
			
			btnnext = (ImageButton)findViewById(R.id.nextButton);
			btnprev = (ImageButton)findViewById(R.id.PrevioustButton);
			pos= getIntent().getIntExtra("Pos",0);
			quote_id = getIntent().getStringExtra("QuoteId");
			lstcount = getIntent().getIntExtra("LstCount",0);
			@SuppressWarnings("unchecked")
			
			final ArrayList<HashMap<String, String>> quotesList =(ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("Quotes");
			btnnext.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				if(pos == lstcount)
           	 {
					Toast.makeText(getApplicationContext(), "End of List", Toast.LENGTH_SHORT).show();
           	 }
           	 else
           	 {
					int p = pos+1;
				text.setText(quotesList.get(pos).get(KEY_TEXT));
				quFavorite = quotesList.get(pos).get(KEY_FAVORITE);
				quoteShare = quotesList.get(pos).get(KEY_TEXT);
				Log.e("ErrorMsg", "quoteShare is: " + quoteShare);
				 quote_id = quotesList.get(pos).get(QuoteDialogActivity.KEY_ID);
				isFavorite = quFavorite;
				if (isFavorite.equals("0")) {
					star.setImageResource(R.drawable.star_off);
				} else {
					star.setImageResource(R.drawable.star_on);
				}
				pos = p;
				FirstFav();//new
				Log.i("quote is",quote_id);
				}
			}
		});
			
			
			
			btnprev.setOnClickListener(new OnClickListener() {
				
				@Override
				public void onClick(View arg0) {
					// TODO Auto-generated method stub
					
					 if(pos == 1 ||pos == 0)
	            	 {
		            	 Toast.makeText(getApplicationContext(), "Start of List",Toast.LENGTH_SHORT).show();
	            	 }
	            	 else
	            	 {
						int p = pos-1;
					text.setText(quotesList.get(p-1).get(KEY_TEXT));
				quFavorite = quotesList.get(p-1).get(KEY_FAVORITE);
				quote_id = quotesList.get(p-1).get(QuoteDialogActivity.KEY_ID);
				isFavorite = quFavorite;
				if (isFavorite.equals("0")) {
					star.setImageResource(R.drawable.star_off);
				} else {
					star.setImageResource(R.drawable.star_on);
				}
					pos = p;
					FirstFav();
					}
				}
			});
			
			//======================================================= Swipe
			ll_quote = (ScrollView)findViewById(R.id.scrollView1);
			ll_quote.setOnTouchListener(new OnTouchListener() {
				  int downX, upX;
				
				@Override
				public boolean onTouch(View arg0, MotionEvent event) {
					// TODO Auto-generated method stub
					 if (event.getAction() == MotionEvent.ACTION_DOWN) {
			             downX = (int) event.getX(); 
			             Log.i("event.getX()", " downX " + downX);
			             return true;
			         } 

			         else if (event.getAction() == MotionEvent.ACTION_UP) {
			             upX = (int) event.getX(); 
			             Log.i("event.getX()", " upX " + downX);
			             if (upX - downX > 100) {
			            	 if(pos == 0 || pos == 1)
			            	 {
			            	 Toast.makeText(getApplicationContext(), "Start of List",Toast.LENGTH_SHORT).show();
			            	 }
			            	 else
			            	 {
			            		 int p = pos-1;
			            			quFavorite = quotesList.get(p-1).get(KEY_FAVORITE);
			        				quote_id = quotesList.get(p-1).get(QuoteDialogActivity.KEY_ID);
			        				isFavorite = quFavorite;
			        				if (isFavorite.equals("0")) {
			        					star.setImageResource(R.drawable.star_off);
			        				} else {
			        					star.setImageResource(R.drawable.star_on);
			        				}
			            		 text.setText(quotesList.get(p-1).get(KEY_TEXT));
			 				pos = p;
			 				FirstFav();
			            	 }
			             } 
			             else if (downX - upX > -100) {
			            	 if(pos == lstcount)
			            	 {
			 					Toast.makeText(getApplicationContext(), "End of List", Toast.LENGTH_SHORT).show();
			            	 }
			            	 else
			            	 {
			            		 int p = pos+1;
			            		 quFavorite = quotesList.get(pos).get(KEY_FAVORITE);
			    				 quote_id = quotesList.get(pos).get(QuoteDialogActivity.KEY_ID);
			    				isFavorite = quFavorite;
			    				if (isFavorite.equals("0")) {
			    					star.setImageResource(R.drawable.star_off);
			    				} else {
			    					star.setImageResource(R.drawable.star_on);
			    				}
			            		 text.setText(quotesList.get(pos).get(KEY_TEXT));
			 				pos = p;
			 				FirstFav();
			            	 }
			             }
			             return true;

			             }
			             return false;
			         }
			});

			// ========================== share button

			final ImageButton share = (ImageButton) findViewById(R.id.share);
			share.setOnClickListener(new OnClickListener() {
				@Override
				public void onClick(View v) {
					
					Intent sendIntent = new Intent();
					sendIntent.setAction(Intent.ACTION_SEND);
					sendIntent.putExtra(Intent.EXTRA_TEXT,pos);
					sendIntent.setType("text/plain");
					startActivity(sendIntent);
				}
			
			});

			//copy button
			
			final ImageButton copyy = (ImageButton) findViewById(R.id.copy);
			

			copyy.setOnClickListener(new OnClickListener() {
				@Override
				public void onClick(View v) {
					
	 ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
	 ClipData clip = ClipData.newPlainText("simple text",quoteShare);
	 clipboard.setPrimaryClip(clip);
					 Toast.makeText(getApplicationContext(), "Status Copied",
					 Toast.LENGTH_LONG).show();
				
			
					
				}
			});
			
	
			// ========================== set as favorite and unfavorite
			
			
			isFavorite = quFavorite;
			if (isFavorite.equals("0")) {
				star.setImageResource(R.drawable.star_off);
			} else {
				star.setImageResource(R.drawable.star_on);
			}

			star.setOnClickListener(new View.OnClickListener() {
				public void onClick(View v) {

					if (isFavorite.equals("0")) {
						isFavorite = "1";
						star.setImageResource(R.drawable.star_on);
					} else {
						isFavorite = "0";
						star.setImageResource(R.drawable.star_off);
					}

					if (getIntent().getIntExtra("isQOTD", 0) == 1) {
						db.addOrRemoveFavorites(mSharedPreferences.getString("QOTD", ""), isFavorite);
					} else {
//						Log.i("quotes",quotesList.get(pos).get(String.valueOf(KEY_WEB_ID))+"POS"+pos+"quid"+quotesList.get(pos).get(KEY_ID));
						db.addOrRemoveFavorites(quote_id, isFavorite);

//						db.addOrRemoveFavorites(getIntent().getStringExtra("QuoteId"), isFavorite);
						if (getIntent().getIntExtra("quotesType", 0) == 2 && isFavorite.equals("0")) {

							Intent i = new Intent(QuoteDialogActivity.this, QuotesActivity.class);
							i.putExtra("quotesType", 2);
							i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
							i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
							finish();
							startActivity(i);

						}
					}
				}
			});

//		}

	}

	// ==============================================================================

	public void FirstFav()
	{

		String Image_id=quote_id;
		quFavorite = db.getFavQuotes(quote_id);
		if(quFavorite.length()>0)
			isFavorite = quFavorite;
		else
			isFavorite = "0";
		if (isFavorite.equals("0")) {
			star.setImageResource(R.drawable.star_off);
		} else {
			star.setImageResource(R.drawable.star_on);
		}
	}

	//===================================================================================
	

}

由于

0 个答案:

没有答案