Android类型不兼容错误:期望com.example.luckandchance.TextView却得到View
解决"Incompatible types. Found: 'android.view.View', required: 'com.example.luckandchance.TextView'"错误
错误原因
你代码里存在两个问题:
- 未导入系统自带的
TextView和Button类,编译器误将其识别为你自定义的com.example.luckandchance.TextView(但你并未定义该类) findViewById()方法返回的是View类型,直接赋值给TextView/Button变量需要进行类型强转
解决方案
方案1:补全导入并强转类型
在代码顶部添加系统控件的导入语句,同时对findViewById()的返回结果进行强转:
package com.example.luckandchance; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import android.view.View; import androidx.navigation.ui.AppBarConfiguration; import com.example.luckandchance.databinding.ActivityCoinTossBinding; // 新增系统控件导入 import android.widget.TextView; import android.widget.Button; public class CoinToss extends AppCompatActivity { private TextView textView4; private Button button3; private AppBarConfiguration appBarConfiguration; private ActivityCoinTossBinding binding; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_coin_toss); // 强转类型后赋值 textView4 = (TextView) findViewById(R.id.textView4); button3 = (Button) findViewById(R.id.button3); } }
方案2:使用视图绑定(更推荐)
你代码中已经声明了ActivityCoinTossBinding,直接用视图绑定获取控件更安全,无需强转也无需额外导入:
package com.example.luckandchance; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import androidx.navigation.ui.AppBarConfiguration; import com.example.luckandchance.databinding.ActivityCoinTossBinding; public class CoinToss extends AppCompatActivity { private AppBarConfiguration appBarConfiguration; private ActivityCoinTossBinding binding; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 用视图绑定初始化布局 binding = ActivityCoinTossBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); // 直接通过binding对象获取控件并操作 binding.textView4.setText("要显示的文本"); binding.button3.setOnClickListener(v -> { // 按钮点击逻辑 }); } }
视图绑定能避免类型转换错误,还能防止因控件ID拼写错误导致的空指针问题,是Android官方推荐的控件获取方式。
内容的提问来源于stack exchange,提问作者Rohit Bhandwalkar
相关产品推荐
相关产品推荐

