【发布时间】:2020-02-16 23:49:25
【问题描述】:
我试图覆盖标签上的 ID,但是当我在模拟器中运行时,应用程序崩溃
我用它来查看有什么问题 https://developer.android.com/training/improving-layouts/reusing-layouts#Include ,但仍然崩溃...但是当我使用 ID 根时,代码有效。
<include layout="@layout/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tb_conversa"
/>
///////// Java Code //////
import androidx.appcompat.widget.Toolbar;
public class ConversaActivity extends AppCompatActivity {
private Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_conversa);
toolbar=findViewById(R.id.tb_conversa);
toolbar.setTitle("Usuario");
toolbar.setNavigationIcon(R.drawable.ic_action_arrow_left);
setSupportActionBar(toolbar);
}
}
/////////// Layout Toolbar /////////
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar_principal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>`
</LinearLayout>
就在我更改了 toolbar=findViewById(R.id.toolbar_principal) 的 ID 时,代码工作正常。为什么我无法更改 de ID?
【问题讨论】: