は、これが私の活動のときにゼロである:ArrayListのsetAdapter
public class HomeTimelineActivity extends AppCompatActivity {
private TwitterClient client;
Context mContext;
@BindView(R.id.rvTweets)
RecyclerView rvTweets;
List<Tweet> mTweets;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_timeline);
Butterknife.bind(this);
client = TwitterApplication.getRestClient();
populateTimeline();
}
private void populateTimeline() {
client.getHomeTimeline(new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONArray jsonArray) {
Log.d("DEBUG", jsonArray.toString());
mTweets = new ArrayList<Tweet>();
for (int i = 0; i < jsonArray.length(); i++) {
try {
JSONObject jsonTweet = jsonArray.getJSONObject(i);
Tweet tweet = new Tweet();
tweet.setBody(jsonTweet.getString("text"));
tweet.setUid(jsonTweet.getLong("id"));
tweet.setCreateAt(jsonTweet.getString("created_at"));
JSONObject jsonUser = jsonTweet.getJSONObject("user");
User user = new User();
user.setName(jsonUser.getString("name"));
user.setUid(jsonUser.getLong("id"));
user.setScreenname(jsonUser.getString("screen_name"));
user.setProfileImageurl(jsonUser.getString("profile_image_url"));
tweet.setUser(user);
mTweets.add(tweet);
runOnUiThread(new Runnable() {
@Override
public void run() {
TweetAdapter adapter = new TweetAdapter(mContext, mTweets);
rvTweets.setAdapter(adapter);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(mContext);
rvTweets.setLayoutManager(layoutManager);
}
});
} catch (JSONException e) {
e.printStackTrace();
continue;
}
}
}
@Override
public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONArray errorResponse) {
Log.d("DEBUT", errorResponse.toString());
}
});
}
}
は、これは私のアダプターです:
public class TweetAdapter extends RecyclerView.Adapter<TweetAdapter.TweetViewHolder>{
private Context mContext;
private List<Tweet> mTweets;
// Automatically add the Constructor here
public TweetAdapter(Context context, List<Tweet> tweets) {
mContext = context;
mTweets = tweets;
}
// Implements compulsory methods
@Override
public TweetViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.tweet_list_items,
parent, false);
TweetViewHolder viewHolder = new TweetViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(TweetViewHolder holder, int position) {
holder.bindModel(mTweets.get(position));
}
@Override
public int getItemCount() {
return mTweets.size();
}
public class TweetViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
// Hook the ID to new created Widget using ButterKnife
@BindView(R.id.imgUserProfile)
ImageView userProfile;
@BindView(R.id.tvUserName)
TextView userName;
@BindView(R.id.tvTweet)
TextView tweetText;
TweetViewHolder(View view) {
super(view);
ButterKnife.bind(this, view);
// Set the OnclickListener of an item in list
itemView.setOnClickListener(this);
}
void bindModel(Tweet tweet) {
// Use the Widget mVar and the model name to set_get info
tweetText.setText(tweet.getBody());
}
@Override
public void onClick(View view) {
// Add What happen with OnClick
}
}
}
私はmTweetsリストにアダプタを設定してみてください。私は、アダプタを設定しようとすると、私はgetTweet方法は、サイズが= 25
0 = {[email protected]}
1 = {[email protected]}
2 = {[email protected]}
3 = {[email protected]}
4 = {[email protected]}
5 = {[email protected]}
6 = {[email protected]}
7 = {[email protected]}
8 = {[email protected]}
9 = {[email protected]}
10 = {[email protected]}
11 = {[email protected]}
{5524 @ ArrayListの}十分なオブジェクト ツイート=が戻ったことを確認するために、デバッガを使用し、表示されたいかなるデータやアプリはありません直ちに停止した。不思議なことに、Logcatは情報なしで空白です。それは単に黒です。 Twitterでの認証が成功しました。 誰でも助けてください。