Java 安卓工作室赢得';尽管已将库作为依赖项添加,但无法检测我的库组件
我做了一个简单的项目,创建了一个名为“mylibrary”的新模块&其中有一个自定义视图 库在创建期间自动添加到项目中的依赖项列表中 但是,依赖于此库的应用程序在库中找不到现有的自定义视图 我试过提出的几个建议,但没有一个奏效 我已将所需文件列在下面:- build.gradle(模块:mylibrary) build.gradle(项目:TESTAPP) build.gradle(模块:应用程序) settings.gradle(项目设置) mylibrary-->samplelayout.xmlJava 安卓工作室赢得';尽管已将库作为依赖项添加,但无法检测我的库组件,java,android,Java,Android,我做了一个简单的项目,创建了一个名为“mylibrary”的新模块&其中有一个自定义视图 库在创建期间自动添加到项目中的依赖项列表中 但是,依赖于此库的应用程序在库中找不到现有的自定义视图 我试过提出的几个建议,但没有一个奏效 我已将所需文件列在下面:- build.gradle(模块:mylibrary) build.gradle(项目:TESTAPP) build.gradle(模块:应用程序) settings.gradle(项目设置) mylibrary-->samplelayout.x
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:hint="HEY"
android:gravity="center"
android:layout_gravity="center_horizontal"/>
</merge>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="app.auro.self.testapp.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Cus //DOESN'T EVEN DETECT
</LinearLayout>
</RelativeLayout>
app-->活动\u main.xml
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:hint="HEY"
android:gravity="center"
android:layout_gravity="center_horizontal"/>
</merge>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="app.auro.self.testapp.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Cus //DOESN'T EVEN DETECT
</LinearLayout>
</RelativeLayout>
在布局xml文件中,只有
android.widget
包中的类可以直接与其名称一起使用。其他所有内容都需要用它们的完全限定类名声明。例如:
<!-- Won't work -->
<CardView.../>
<!-- Should work -->
<android.support.v7.widget.CardView.../>
是的,我知道这一点,但当您开始键入类似于@Auro的内容时,这意味着库已正确集成。如果您可以创建一个可重现问题的基本存根项目,则应将其作为问题跟踪器提交:
package app.auro.self.mylibrary;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.EditText;
import android.widget.LinearLayout;
import java.security.PrivateKey;
/**
* Created by stpl on 25/8/16.
*/
public class CustomView extends LinearLayout {
private EditText editText;
public CustomView(Context context) {
this(context,null);
}
public CustomView(Context context, AttributeSet attrs) {
this(context, attrs,0);
}
public CustomView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.samplelayout,this,true);
editText = (EditText) findViewById(R.id.editText);
editText.setText("HELLO");
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="app.auro.self.testapp.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Cus //DOESN'T EVEN DETECT
</LinearLayout>
</RelativeLayout>
package app.auro.self.testapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import app.auro.self.mylibrary.CustomView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomView customView;
}
}
<!-- Won't work -->
<CardView.../>
<!-- Should work -->
<android.support.v7.widget.CardView.../>