【问题标题】:No suitable constructor found for ImageView(no arguments)没有为 ImageView 找到合适的构造函数(无参数)
【发布时间】:2016-05-17 05:40:43
【问题描述】:

我正在运行一个应用程序,该应用程序会在选择或捕获多个图像后获取它们以供查看。当我运行应用程序时,ImageView 部分似乎有问题:

错误:(41, 25) 错误:找不到适合 ImageView 的构造函数(无参数) 构造函数 ImageView.ImageView(Context) 不适用 (实际参数列表和形式参数列表的长度不同) 构造函数 ImageView.ImageView(Context,AttributeSet) 不适用 (实际参数列表和形式参数列表的长度不同) 构造函数 ImageView.ImageView(Context,AttributeSet,int) 不适用 (实际参数列表和形式参数列表的长度不同) 构造函数 ImageView.ImageView(Context,AttributeSet,int,int) 不适用 (实际参数列表和形式参数列表的长度不同)

如何解决这个问题? 我在第 14 行得到错误 ivImage=new ImageView();说找不到符号变量ivimage

public class MainActivity extends AppCompatActivity {
private boolean zoomOut = false;
int REQUEST_CAMERA = 0, SELECT_FILE = 1;
Button btnSelect;


LinearLayout root ;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btnSelect = (Button) findViewById(R.id.btnSelectPhoto);
    root = (LinearLayout) findViewById(R.id.ll);

    ivImage=new ImageView();
    btnSelect.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            selectImage();
        }
    });

    ivImage = (ImageView) findViewById(R.id.ivImage);
}

【问题讨论】:

  • 哪里出错了?在第一行,还是在其他地方?您没有显示任何代码调用 ImageView 构造函数没有任何参数...
  • @JonSkeet 代码是: public class MainActivity extends AppCompatActivity { private boolean zoomOut = false; int REQUEST_CAMERA = 0,SELECT_FILE = 1;按钮 btnSelect; ImageView ivImage = new ImageView();这是最后一条语句 ImageView ivImage = new ImageView();
  • @JonSkeet 我编辑了答案
  • 在您最初发布的代码中,您写了new ImageView( this )。那不行吗?!

标签: java android android-studio constructor imageview


【解决方案1】:

删除以下行:

ImageView ivImage = new ImageView();

作为ImageView does not have a zero-argument constructor

【讨论】:

  • 然后我在第 14 行得到错误 ivImage=new ImageView();说找不到符号变量ivimage
  • @AhmedEl-Shafei:我会假设你真的是指ivImage = (ImageView) findViewById(R.id.ivImage);,因为我告诉过你摆脱ivImage=new ImageView();。将ivImage = (ImageView) findViewById(R.id.ivImage); 更改为ImageView ivImage = (ImageView) findViewById(R.id.ivImage);
  • 它成功了,谢谢 :)) 我只是在运行应用程序时遇到了另一个问题,它让我的手机上出现了一个白色的空白页面,你知道为什么吗?
猜你喜欢
  • 2016-08-15
  • 2015-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多