【问题标题】:android activity doesn't recognize my importandroid 活动无法识别我的导入
【发布时间】:2018-09-23 18:42:04
【问题描述】:

这个问题与这个问题有关。 My activity can't implement lifecycleOwner 我想这个问题可能包含lifecycleOwner one的答案。 我找到了这个答案 AppCompatActivity not implementing LifecycleOwner 但它并没有解决我的问题

我在 android 中做一个 android 项目。在每项活动中,它只是不承认我的进口。 像这样:

private EditText edAccount;
edAccount = findViewById(R.id.edAccount);

它说:必需:android.widget.EditText Found:android.view.View 但我做imports android.widget.EditText。这发生在我导入一个新的库模块之后。但我不知道发生了什么。

另外,AppCompatActivity 不再实现lifecycleOwner。

感谢您的回答

build.gradle

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.example.finaldesigntest"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            debuggable true
        }
    }
    buildToolsVersion '27.0.3'
    productFlavors {
    }
}


repositories {
    flatDir {
        dirs 'libs'
    }
    mavenCentral()
}

repositories {
    flatDir { dirs project(':library').file('libs') }
//    maven { url 'https://jitpack.io' }
    maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
    mavenCentral()
}

allprojects {
    repositories {
        //jcenter()
        //maven { url 'https://maven.google.com' }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    implementation 'com.contrarywind:Android-PickerView:4.0.1'
    implementation 'com.android.support:support-annotations:27.1.1'
    implementation project(':library')
    compile 'io.reactivex.rxjava2:rxjava:2.1.6'
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'android.arch.lifecycle:runtime:1.1.1'
    implementation 'android.arch.lifecycle:extensions:1.1.1'
    implementation 'android.arch.lifecycle:reactivestreams:1.1.1'
    annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
}

这是活动的 layout.xml

   <?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.finaldesigntest.LoginActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:orientation="horizontal">
        <TextView
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:textSize="18sp"
            android:text="Account: "/>
        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:id="@+id/edAccount"
            android:layout_gravity="center_vertical"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:orientation="horizontal">
        <TextView
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:textSize="18sp"
            android:text="Password: "/>
        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:id="@+id/edPassword"
            android:layout_gravity="center_vertical"
            android:inputType="textPassword"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/remember_pass"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:text="Remember password"/>
    </LinearLayout>

    <Button
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:id="@+id/login"
        android:text="Login"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/view_login_result"/>

</LinearLayout>

【问题讨论】:

  • edAccount = (Edittext)findViewById(R.id.edAccount);
  • 将视图投射到编辑文本,就像 Hemant 的评论中一样
  • 我认为大写很重要,所以 EditText
  • 一开始就不会发生。我想知道如何让它回到旧的方式。那么我可以解决我的生命周期所有者问题。谢谢
  • 请使用相关的 .xml 和 build.gradle 依赖项展开问题。

标签: android import module appcompatactivity


【解决方案1】:

确保您成功构建项目。只有当 gradle build 不成功时才会发生。

【讨论】:

  • 这不应该是评论吗?
  • 在我导入模块库之前,这是一个成功的项目。然后发生这种情况
  • 在你的项目中添加你的库之后,构建成功了吗? @xiLianPeng​​span>
  • 问题发生在导入模块之后所以不成功@PrashantJajal
  • 可能是您导入的模块有一些配置错误。您能否添加一些有问题的Gradle Log 以获得更好的想法。
【解决方案2】:

你需要像这样投射它:

 private EditText edAccount;
 edAccount = (EditText) findViewById(R.id.edAccount);

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-08
  • 1970-01-01
  • 2018-02-09
  • 2021-02-19
相关资源
最近更新 更多