Как создать ImageView из другого класса - PullRequest
1 голос
/ 15 января 2020

Я хочу создать ImageVIew из своего класса, но у меня есть некоторые исключения и не знаю почему. Пожалуйста, помогите мне. Вот мой класс

publi c Карта класса {

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);

1 Ответ

0 голосов
/ 15 января 2020

Переместить определение

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);
    ....

...