mirror of
				https://github.com/bspeice/itcs4180
				synced 2025-10-31 17:30:34 -04:00 
			
		
		
		
	DetailedTweetActivity is now working correctly
Still needs some alignment, etc.
This commit is contained in:
		| @ -28,6 +28,10 @@ | |||||||
|             android:name="edu.uncc.itcs4180.hw5.TweetsListActivity" |             android:name="edu.uncc.itcs4180.hw5.TweetsListActivity" | ||||||
|             android:label="@string/title_activity_tweets_list" > |             android:label="@string/title_activity_tweets_list" > | ||||||
|         </activity> |         </activity> | ||||||
|  |         <activity | ||||||
|  |             android:name="edu.uncc.itcs4180.hw5.DetailedTweetActivity" | ||||||
|  |             android:label="@string/title_activity_detailed_tweet" > | ||||||
|  |         </activity> | ||||||
|     </application> |     </application> | ||||||
|  |  | ||||||
| </manifest> | </manifest> | ||||||
|  | |||||||
							
								
								
									
										60
									
								
								HW5/res/layout/activity_detailed_tweet.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								HW5/res/layout/activity_detailed_tweet.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,60 @@ | |||||||
|  | <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     xmlns:tools="http://schemas.android.com/tools" | ||||||
|  |     android:layout_width="match_parent" | ||||||
|  |     android:layout_height="match_parent" | ||||||
|  |     android:paddingBottom="@dimen/activity_vertical_margin" | ||||||
|  |     android:paddingLeft="@dimen/activity_horizontal_margin" | ||||||
|  |     android:paddingRight="@dimen/activity_horizontal_margin" | ||||||
|  |     android:paddingTop="@dimen/activity_vertical_margin" | ||||||
|  |     tools:context=".DetailedTweetActivity" > | ||||||
|  |  | ||||||
|  |     <TextView | ||||||
|  |         android:id="@+id/txtDetailUsername" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:layout_alignParentTop="true" | ||||||
|  |         android:layout_centerHorizontal="true" | ||||||
|  |         android:text="TextView" /> | ||||||
|  |  | ||||||
|  |     <ImageView | ||||||
|  |         android:id="@+id/imgDetailBackground" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:layout_below="@+id/txtDetailUsername" | ||||||
|  |         android:layout_centerHorizontal="true" /> | ||||||
|  |  | ||||||
|  |     <TextView | ||||||
|  |         android:id="@+id/txtDetailTweet" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:layout_alignLeft="@+id/txtDetailUsername" | ||||||
|  |         android:layout_below="@+id/imgDetailBackground" | ||||||
|  |         android:text="TextView" /> | ||||||
|  |  | ||||||
|  |     <Button | ||||||
|  |         android:id="@+id/btnDetailBack" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:layout_alignParentBottom="true" | ||||||
|  |         android:layout_alignParentLeft="true" | ||||||
|  |         android:layout_alignParentRight="true" | ||||||
|  |         android:onClick="onClickBack" | ||||||
|  |         android:text="Button" /> | ||||||
|  |  | ||||||
|  |     <TextView | ||||||
|  |         android:id="@+id/txtFavoritesCount" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:layout_alignRight="@+id/txtDetailTweet" | ||||||
|  |         android:layout_below="@+id/txtDetailTweet" | ||||||
|  |         android:text="TextView" /> | ||||||
|  |  | ||||||
|  |     <TextView | ||||||
|  |         android:id="@+id/txtRetweetCount" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:layout_alignLeft="@+id/txtFavoritesCount" | ||||||
|  |         android:layout_below="@+id/txtFavoritesCount" | ||||||
|  |         android:text="TextView" /> | ||||||
|  |  | ||||||
|  | </RelativeLayout> | ||||||
| @ -3,6 +3,7 @@ | |||||||
|     android:id="@+id/RelativeLayout1" |     android:id="@+id/RelativeLayout1" | ||||||
|     android:layout_width="fill_parent" |     android:layout_width="fill_parent" | ||||||
|     android:layout_height="fill_parent" |     android:layout_height="fill_parent" | ||||||
|  |     android:descendantFocusability="blocksDescendants" | ||||||
|     android:padding="2dp" > |     android:padding="2dp" > | ||||||
|  |  | ||||||
|     <ImageView |     <ImageView | ||||||
|  | |||||||
							
								
								
									
										9
									
								
								HW5/res/menu/detailed_tweet.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								HW5/res/menu/detailed_tweet.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | |||||||
|  | <menu xmlns:android="http://schemas.android.com/apk/res/android" > | ||||||
|  |  | ||||||
|  |     <item | ||||||
|  |         android:id="@+id/action_settings" | ||||||
|  |         android:orderInCategory="100" | ||||||
|  |         android:showAsAction="never" | ||||||
|  |         android:title="@string/action_settings"/> | ||||||
|  |  | ||||||
|  | </menu> | ||||||
| @ -5,5 +5,6 @@ | |||||||
|     <string name="action_settings">Settings</string> |     <string name="action_settings">Settings</string> | ||||||
|     <string name="hello_world">Hello world!</string> |     <string name="hello_world">Hello world!</string> | ||||||
|     <string name="title_activity_tweets_list">TweetsListActivity</string> |     <string name="title_activity_tweets_list">TweetsListActivity</string> | ||||||
|  |     <string name="title_activity_detailed_tweet">DetailedTweetActivity</string> | ||||||
|  |  | ||||||
| </resources> | </resources> | ||||||
|  | |||||||
							
								
								
									
										47
									
								
								HW5/src/edu/uncc/itcs4180/hw5/DetailedTweetActivity.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								HW5/src/edu/uncc/itcs4180/hw5/DetailedTweetActivity.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | |||||||
|  | package edu.uncc.itcs4180.hw5; | ||||||
|  |  | ||||||
|  | import edu.uncc.itcs4180.hw5.twitter.Tweet; | ||||||
|  | import android.os.Bundle; | ||||||
|  | import android.app.Activity; | ||||||
|  | import android.view.Menu; | ||||||
|  | import android.view.View; | ||||||
|  | import android.widget.ImageView; | ||||||
|  | import android.widget.TextView; | ||||||
|  |  | ||||||
|  | public class DetailedTweetActivity extends Activity { | ||||||
|  | 	 | ||||||
|  | 	private Tweet tweet; | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	protected void onCreate(Bundle savedInstanceState) { | ||||||
|  | 		super.onCreate(savedInstanceState); | ||||||
|  | 		setContentView(R.layout.activity_detailed_tweet); | ||||||
|  | 		 | ||||||
|  | 		tweet = (Tweet)getIntent().getExtras().getSerializable("tweet"); | ||||||
|  | 		 | ||||||
|  | 		TextView userName = (TextView)findViewById(R.id.txtDetailUsername); | ||||||
|  | 		TextView tweetText = (TextView)findViewById(R.id.txtDetailTweet); | ||||||
|  | 		TextView favoritesCount = (TextView)findViewById(R.id.txtFavoritesCount); | ||||||
|  | 		TextView retweetCount = (TextView)findViewById(R.id.txtRetweetCount); | ||||||
|  | 		ImageView profileBackground = (ImageView)findViewById(R.id.imgDetailBackground); | ||||||
|  | 		 | ||||||
|  | 		userName.setText(tweet.getUser().getName()); | ||||||
|  | 		tweetText.setText(tweet.getText()); | ||||||
|  | 		favoritesCount.setText("Favorites Count: " + tweet.getFavoriteCount()); | ||||||
|  | 		retweetCount.setText("ReTweets Count: " + tweet.getRetweetCount()); | ||||||
|  | 		 | ||||||
|  | 		new BitmapDownloader(profileBackground).execute(tweet.getUser().getProfileBackgroundImageUrl()); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public boolean onCreateOptionsMenu(Menu menu) { | ||||||
|  | 		// Inflate the menu; this adds items to the action bar if it is present. | ||||||
|  | 		getMenuInflater().inflate(R.menu.detailed_tweet, menu); | ||||||
|  | 		return true; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	public void onClickBack(View v) { | ||||||
|  | 		finish(); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -7,14 +7,19 @@ import android.os.AsyncTask; | |||||||
| import android.os.Bundle; | import android.os.Bundle; | ||||||
| import android.app.Activity; | import android.app.Activity; | ||||||
| import android.app.ProgressDialog; | import android.app.ProgressDialog; | ||||||
|  | import android.content.Intent; | ||||||
| import android.util.Log; | import android.util.Log; | ||||||
| import android.view.Menu; | import android.view.Menu; | ||||||
|  | import android.view.View; | ||||||
|  | import android.widget.AdapterView; | ||||||
|  | import android.widget.AdapterView.OnItemClickListener; | ||||||
| import android.widget.ListAdapter; | import android.widget.ListAdapter; | ||||||
| import android.widget.ListView; | import android.widget.ListView; | ||||||
|  |  | ||||||
| public class TweetsListActivity extends Activity { | public class TweetsListActivity extends Activity { | ||||||
| 	 | 	 | ||||||
| 	ProgressDialog dialog; | 	private ProgressDialog dialog; | ||||||
|  | 	private TweetList list; | ||||||
|  |  | ||||||
| 	@Override | 	@Override | ||||||
| 	protected void onCreate(Bundle savedInstanceState) { | 	protected void onCreate(Bundle savedInstanceState) { | ||||||
| @ -49,10 +54,27 @@ public class TweetsListActivity extends Activity { | |||||||
| 		return true; | 		return true; | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
|  | 	public TweetList getTweetList() { | ||||||
|  | 		return list; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
| 	private void displayTweets(TweetList list) { | 	private void displayTweets(TweetList list) { | ||||||
|  | 		this.list = list; | ||||||
| 		ListView lv = (ListView)findViewById(R.id.listTweetList); | 		ListView lv = (ListView)findViewById(R.id.listTweetList); | ||||||
| 		ListAdapter la = new TweetListAdapter(this, list.toArray(new Tweet[list.size()])); | 		ListAdapter la = new TweetListAdapter(this, list.toArray(new Tweet[list.size()])); | ||||||
| 		lv.setAdapter(la); | 		lv.setAdapter(la); | ||||||
|  | 		Log.d("ClickListener", "Setting click listener!"); | ||||||
|  | 		lv.setOnItemClickListener(new OnItemClickListener() { | ||||||
|  |  | ||||||
|  | 			@Override | ||||||
|  | 			public void onItemClick(AdapterView<?> adapterView, View view, int pos, | ||||||
|  | 					long l) { | ||||||
|  | 				Log.d("ClickListener", "You clicked me!"); | ||||||
|  | 				Intent i = new Intent(TweetsListActivity.this, DetailedTweetActivity.class); | ||||||
|  | 				i.putExtra("tweet", getTweetList().get(pos)); | ||||||
|  | 				startActivity(i); | ||||||
|  | 			} | ||||||
|  | 		}); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -5,9 +5,11 @@ package edu.uncc.itcs4180.hw5.twitter; | |||||||
| // | // | ||||||
| // We changed the field names to conform to Java standards | // We changed the field names to conform to Java standards | ||||||
|  |  | ||||||
|  | import java.io.Serializable; | ||||||
|  |  | ||||||
| import com.google.gson.annotations.SerializedName; | import com.google.gson.annotations.SerializedName; | ||||||
|  |  | ||||||
| public class Tweet { | public class Tweet implements Serializable { | ||||||
|  |  | ||||||
| 	@SerializedName("created_at") | 	@SerializedName("created_at") | ||||||
| 	private String dateCreated; | 	private String dateCreated; | ||||||
| @ -32,6 +34,28 @@ public class Tweet { | |||||||
| 	 | 	 | ||||||
| 	@SerializedName("retweeted") | 	@SerializedName("retweeted") | ||||||
| 	private boolean retweeted; | 	private boolean retweeted; | ||||||
|  | 	 | ||||||
|  | 	@SerializedName("favorite_count") | ||||||
|  | 	private int favoriteCount; | ||||||
|  | 	 | ||||||
|  | 	@SerializedName("retweet_count") | ||||||
|  | 	private int retweetCount; | ||||||
|  | 	 | ||||||
|  | 	public int getFavoriteCount() { | ||||||
|  | 		return favoriteCount; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void setFavoriteCount(int favoriteCount) { | ||||||
|  | 		this.favoriteCount = favoriteCount; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public int getRetweetCount() { | ||||||
|  | 		return retweetCount; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public void setRetweetCount(int retweetCount) { | ||||||
|  | 		this.retweetCount = retweetCount; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	public String getDateCreated() { | 	public String getDateCreated() { | ||||||
| 		return dateCreated; | 		return dateCreated; | ||||||
|  | |||||||
| @ -3,9 +3,11 @@ package edu.uncc.itcs4180.hw5.twitter; | |||||||
| // Code copied from: | // Code copied from: | ||||||
| // https://github.com/Rockncoder/TwitterTutorial/blob/master/src/com/example/TwitterTutorial/TwitterUser.java | // https://github.com/Rockncoder/TwitterTutorial/blob/master/src/com/example/TwitterTutorial/TwitterUser.java | ||||||
|  |  | ||||||
|  | import java.io.Serializable; | ||||||
|  |  | ||||||
| import com.google.gson.annotations.SerializedName; | import com.google.gson.annotations.SerializedName; | ||||||
|  |  | ||||||
| public class TwitterUser { | public class TwitterUser implements Serializable { | ||||||
|  |  | ||||||
| 	@SerializedName("screen_name") | 	@SerializedName("screen_name") | ||||||
| 	private String screenName; | 	private String screenName; | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 DjBushido
					DjBushido