【发布时间】:2017-01-18 10:08:11
【问题描述】:
我使用的 customview 包含 ImageView 和两个 TextViews,这是我的 RecyclerView.Adapter 我使用 Picasso 库来显示图像。
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>
活动类是:-
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 位图像进入第 3 位或第 4 位图像显示到第 6 位,就像任何组合一样...
-
位置是不断变化的,但是当点击特定位置查看详细信息时,会显示正确的图像。
-
在您的
.into(ivProfile)调用中,ivProfile 是成员变量还是拼写错误? -
如果不是拼写错误,请将其更改为
.into(holder.ivProfile)。
标签: android android-layout android-studio android-recyclerview