【问题标题】:How to create ImageView from another class如何从另一个类创建 ImageView
【发布时间】:2020-05-02 07:27:18
【问题描述】:

我想从我的班级创建 ImageVIew,但我有一些例外,不知道为什么。请帮我。 这是我的课

公共类卡片{

Bitmap bitmap;

 public Card( Bitmap bitmap, LinearLayout linearLayout,Context context){
    ImageView imageView=new ImageView(context);
    imageView.setImageBitmap(bitmap);
    imageView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
             ViewGroup.LayoutParams.WRAP_CONTENT));
     linearLayout.addView(imageView);
} 

public class MainActivity extends AppCompatActivity {
Bitmap bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.jpg);
Card card;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LinearLayout linearLayout=findViewById(R.id.ll);
    card=new Card(bitmap,linearLayout,this);

    setContentView(R.layout.activity_main);

【问题讨论】:

  • 请给我们异常stracktrace

标签: java android-studio nullpointerexception imageview


【解决方案1】:

移动

Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.jpg);

onCreate 方法中的定义。这应该可以解决 NullPointerException,因为尚未定义上下文。

所以它应该如下所示:

public class MainActivity extends AppCompatActivity {
Bitmap bitmap;
Card card;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.jpg);
    LinearLayout linearLayout=findViewById(R.id.ll);
    card=new Card(bitmap,linearLayout,this);
    ....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    相关资源
    最近更新 更多