我试图膨胀一个内部类视图并获得"错误膨胀类"问题.我引用了这篇文章很有帮助,但我仍然迷失了为什么我不能让这个工作.
这是代码摘录,我的XML和logcat.
编辑:另外我注意到当我明确拥有它时,logcat为"CupcakeMessageView(Context,AttributeSet)"声明了"没有这样的方法异常".
谢谢大家!
public class CupcakeMessage extends Activity {
class CupcakeMessageView extends View {
private static final int TEXT_SIZE = 12;
private static final int X_OFFSET = 15;
private Paint mPaint;
public CupcakeMessageView(Context context) {
super(context);
}
public CupcakeMessageView(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
...
}
more class stuff...
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cupcake_message);
...
}
}
Run Code Online (Sandbox Code Playgroud)
这是XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" …Run Code Online (Sandbox Code Playgroud) 如果要在某个layout.xml文件中访问自定义视图,可以使用以下两个选项:
<package.name.MyView android:layout_width= ... /><view class="package.name.OuterClass$MyView" android:layout_width= ... /> 现在我想在一个内部做同样的事情<PreferenceScreen>.第一种方法效果很好,但我想将所有自定义Preference类放在我的PreferenceActivity中.我试过<Preference class="package.name.OuterClass$MyPreference" ... />(也用'.'而不是'$')<package.name.OuterClass.MyPreference ... />,但都失败了.
有没有人有想法?
android inner-classes preference preferencescreen android-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/com.org.BatteryManager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<com.org.BatteryManager.BatteryView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:textColor="#ffffffff"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)