2
ImageViewと2つのTextViewが含まれているcustomviewを使用しました。これはRecyclerView.Adapterです。イメージを表示するためにPicassoライブラリを使用しました。Recyclerviewイメージがスクロール中に正しく配置されない
public void onBindViewHolder(final ViewHolder holder, final int position) {
Picasso.with(context)
.load(url)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.resize(100, 100)
.into(ivProfile);
holder.tvFirstName.setText(object.getFirstName();
holder.tvSecondName.setText(object.getSecondName);}
public int getItemCount()
{
return profileListDetails.size();
}
class ViewHolder extends RecyclerView.ViewHolder {
public TextView tvFirstName ;
public TextView tvSecondName ;
public ImageView ivProfile;
public ViewHolder(View itemView) {
super(itemView);
ivProfile= (ImageView) itemView.findViewById(R.id.ivProfile);
tvFirstName = (TextView) itemView.findViewById(R.id.tvFirstName);
tvSecondName = (TextView) itemView.findViewById(R.id.tvSecondName);
}
}
そして、私のRecyclerView -
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbars="vertical>
</android.support.v7.widget.RecyclerView>
Activityクラスである: -
public class MainActivity extends AppCompatActivity {
private RecyclerView rv_profileList;
private List<ProfilePOJO> profileList;
private RecyclerView.LayoutManager layoutManager;
private RecyclerView.Adapter recycleAdapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile_list);
rv_profileList = (RecyclerView) findViewById(R.id.rv_profileList);
profileList = new ArrayList<>();
getProfileDetails("");
}
public void getProfileDetails(String ID) {
RestAdapter adapter = new RestAdapter.Builder()
.setEndpoint(Constants.PROFILE_URL)
.build();
API objGetProfile = adapter.create(API.class);
objGetProfile.getProfile(
ID,
new Callback<String>() {
@Override
public void success(String result, Response response) {
try {
Gson gson = new Gson();
Type listType = new TypeToken<List<ProfilePOJO>>() {
}.getType();
profileList = (List<ProfilePOJO>) gson.fromJson(result, listType);
if (profileList.size() != 0) {
recycleAdapter = new ProductListAdapter(productList, MainActivity.this);
rv_profileList.setAdapter(recycleAdapter);
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void failure(RetrofitError error) {
error.printStackTrace();
Toast.makeText(MainActivity .this, "Please check Internet connection !", Toast.LENGTH_LONG).show();
}
}
);
}
}
私はその後、画像が変更さ変化させるものを取得recyclerviewをスクロールしようとしていたときに問題があり、 はどんなことができます1つは私を助けます。応答のみんなのために
「変更されました」とはどういう意味ですか?異なる画像が表示されていますか?またはそれらは点滅していますか? –
画像が正しく配置されていない場合は、1番目の画像が3番目の位置に移動するか、4番目の画像が6番目の位置に表示されます。 – Vijay
位置は変わりませんが、特定の位置をクリックすると詳細が表示されます。 – Vijay