如何在Android中设置图像
我希望以编程方式设置如何在Android中设置图像,android,android-imageview,android-drawable,android-image,Android,Android Imageview,Android Drawable,Android Image,我希望以编程方式设置图像,我应该将图像传递到构造函数。我使用此代码,但在运行应用程序时,show me强制关闭 强制关闭错误: FATAL EXCEPTION: main Process: ir.mototel.mototel, PID: 12904 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Im
图像
,我应该将图像传递到构造函数。我使用此代码,但在运行应用程序时,show me强制关闭强制关闭错误:
FATAL EXCEPTION: main
Process: ir.mototel.mototel, PID: 12904
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageResource(int)' on a null object reference
at com.sepandar.xengine.fragment.HomeFragment.newInstance(HomeFragment.java:60)
at com.sepandar.xengine.adapter.HomePagerAdapter.getItem(HomePagerAdapter.java:43)
at android.support.v4.app.FragmentPagerAdapter.instantiateItem(FragmentPagerAdapter.java:101)
at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1038)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1186)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1120)
at android.support.v4.view.ViewPager.setAdapter(ViewPager.java:544)
at com.sepandar.xengine.fragment.MainFragment$1.onResponse(MainFragment.java:174)
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5349)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
在片段中初始化imageView
和setImage:
public class HomeFragment extends BaseFragment {
private static final String TAG = "HomeFragment";
public int categoy;
@Bind(R.id.recyclerView)
RecyclerView recyclerView;
@Bind(R.id.testFragmentImageID)
ImageView fragmentImage;
private HomeAdapter homeAdapter;
private Gson gson;
private ArrayList<Content> slider = new ArrayList<>();
private ArrayList<TopChart> topCharts = new ArrayList<>();
public static HomeFragment newInstance(int position, ArrayList<TopChart> topChartsArray, int imageINT) {
Bundle bundle = new Bundle();
HomeFragment instance = new HomeFragment();
instance.categoy = position;
instance.topCharts.addAll(topChartsArray);
instance.fragmentImage.setImageResource(imageINT);
instance.setArguments(bundle);
return instance;
}
public static String getTAG() {
return TAG;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
gson = new Gson();
homeAdapter = new HomeAdapter(context, activity, categoy);
homeAdapter.setCategories(topCharts);
homeAdapter.updateItems();
super.onCreate(savedInstanceState);
}
公共类HomeFragment扩展了BaseFragment{
私有静态最终字符串TAG=“HomeFragment”;
公共内部分类;
@绑定(R.id.recyclerView)
回收视图回收视图;
@绑定(R.id.testFragmentImageID)
图像视图碎片图像;
私人家庭适配器;
私人Gson;
私有ArrayList滑块=新建ArrayList();
私有ArrayList topCharts=新ArrayList();
公共静态HomeFragment newInstance(int位置、ArrayList topChartsArray、int imageINT){
Bundle=新Bundle();
HomeFragment实例=新的HomeFragment();
instance.categoy=位置;
instance.topCharts.addAll(topChartsArray);
instance.fragmentImage.setImageResource(imageINT);
setArguments(bundle);
返回实例;
}
公共静态字符串getTAG(){
返回标签;
}
@凌驾
创建时的公共void(@Nullable Bundle savedInstanceState){
gson=新的gson();
homeAdapter=新的homeAdapter(上下文、活动、类别);
homeAdapter.setCategories(topCharts);
homeAdapter.updateItems();
super.onCreate(savedInstanceState);
}
我如何解决这个问题
我知道nullPointerExaption出现此错误,但如何修复它?这是我遇到的问题。要解决此问题,请尝试以下步骤
build.gradle
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
build.gradle
文件
应用插件:“com.neenbedankt.android apt”
依赖项{
apt'com.jakewharton:butterknife编译器:8.4.0'
}
您尚未显示HomeFragment的实现。fragmentImage对象为空,您必须检查如何设置它。@SamiKuhmonen,请参阅我的更新帖子。我初始化ImageView您可以添加onCreateView()吗code@subrahmanyamboyapati,请查看我的更新帖子。你在用butterknife 8.X吗?