使用Data Binding时startActivity(intent)无法跳转至SecondActivity
DataBinding下startActivity无法跳转到SecondActivity的解决方法
核心问题及修复方案
绑定类使用错误
你在SecondActivity中错误使用了ActivityMainBinding,但该类对应activity_main布局,而SecondActivity加载的是activity_second布局,正确的绑定类应为ActivitySecondBinding(DataBinding会根据布局文件名自动生成首字母大写+Binding格式的类)。这个错误会导致Binding初始化异常,使SecondActivity无法正常启动,最终表现为跳转无反应。修正后的SecondActivity代码:
public class SecondActivity extends AppCompatActivity { private ActivitySecondBinding binding; private Data data = new Data(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = DataBindingUtil.setContentView(this, R.layout.activity_second); binding.setData(data); binding.invalidateAll(); data.setHelloThere("Hello there"); } }检查Activity注册情况
确认AndroidManifest.xml中已注册SecondActivity,否则系统无法识别该Activity,跳转请求会被忽略。在<application>标签内添加如下声明:<activity android:name=".SecondActivity" android:exported="false" />
内容的提问来源于stack exchange,提问作者Payel Senapati
相关产品推荐
相关产品推荐

