猿问

使用ViewFlipper以滑动视图显示数据库中的图像

我想将数据库中存储的图像添加到ViewFlipper的图像视图中。但是当我添加这些图像时,我遇到了一些错误。请帮助我解决该问题,或者让我知道是否有其他解决方案。这是我的代码:


MainActivity.java

public class MainActivity extends AppCompatActivity {

DatabaseHelper myDb;

EditText editImagename;

Button btnAddData;

Button btnview;

ImageView imgview;

ViewFlipper viewflips;

private static int RESULT_LOAD_IMAGE = 1;


@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.activity_main);


    editImagename = findViewById(R.id.image_name);

    btnAddData = findViewById(R.id.addbtn);

    btnview = findViewById(R.id.getbtn);

    imgview = new ImageView(this);

    viewflips = findViewById(R.id.viewflip);

    viewAll();


    TextView txt = findViewById(R.id.text);

    txt.setSelected(true);


    Button buttonLoadImage = findViewById(R.id.btn1);

    buttonLoadImage.setOnClickListener(new View.OnClickListener() {


        @Override

        public void onClick(View arg0) {


            Intent i = new Intent(Intent.ACTION_PICK,Uri.parse("content://media/internal/images/media"));

                    startActivityForResult(i, RESULT_LOAD_IMAGE);

        }

    });


    myDb = new DatabaseHelper(this);

}



慕田峪7331174
浏览 114回答 2
2回答

HUX布斯

当 ViewFlipper 已经有视图并且试图在以前添加的视图上添加更多视图时,就会出现此错误。因此,在添加视图之前,您必须始终从 ViewFlipper 中清除/删除所有先前的视图。所以,添加viewflips.removeViews();就在之前viewflips.addView(imgview);在各处。

LEATH

viewflips.removeView()只需在添加视图之前添加即可viewflips.addView(imgview)。
随时随地看视频慕课网APP

相关分类

Java
我要回答