使用轮廓文本字段的工具栏问题

时间:2019-06-18 20:02:55

标签: java android

我正在尝试为我的android studio项目使用一个AppBar。在build gradle(模块应用)中,它实现了:

com.google.android.material:material:1.1.0-alpha07 [I use this because i want 
to use com.google.android.material.textfield.TextInputLayout on my xml/layout 
files],

com.android.support.constraint:constraint-layout:1.1.3,

com.android.support.constraint:constraint-layout:1.1.3,

testImplementation 'junit:junit:4.12'.

在MainActivity.Java中:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar1 = findViewById(R.id.toolbar);
}    

如果我使用'toolbar.inflateMenu(R.menu.menu_bar);'或'setActionBar();'[setActionBar(工具栏工具栏)],当我运行我的应用程序时,它立即崩溃。 我一直在寻找解决方案,但始终在构建gradle(模块应用)中实现了“ com.android.support:appcompat-v7:28.0.0”。 如果我同时实现了这两个功能,我的应用就会立即崩溃

有人可以帮助我将 toolbar1 设置为ActionBar吗?

这是我的xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    tools:context="com.example.MainActivity"

    <Button
        android:id="@+id/B_Back"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="16dp"
        android:background="@android:color/black"
        android:onClick="startsSecondActivity"
        android:text="@string/B_Back_name"
        android:textColor="@android:color/white"/>

    <LinearLayout
        android:id="@+id/ll1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <com.google.android.material.textfield.TextInputLayout
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
            android:layout_width="180dp"
            android:layout_height="wrap_content"
            android:hint="@string/hint">

            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                tools:text="@string/app_name" />

        </com.google.android.material.textfield.TextInputLayout>

    </LinearLayout>

</LinearLayout>

谢谢, 斯伯特。

1 个答案:

答案 0 :(得分:0)

Toolbar toolbar1 = findViewById(R.id.toolbar);

仅当在具有id工具栏的xml文件中添加了工具栏时,该工具才起作用。如果要检索默认工具栏,请使用

getSupportActionBar();

如果您想要一个代码示例,我个人更喜欢创建自己的工具栏,请问我或查看此链接https://developer.android.com/training/appbar/setting-up