相关疑难解决方法(0)

膨胀内部类视图时出错

我试图膨胀一个内部类视图并获得"错误膨胀类"问题.我引用了这篇文章很有帮助,但我仍然迷失了为什么我不能让这个工作.

这是代码摘录,我的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)

android view inflate

15
推荐指数
1
解决办法
8075
查看次数

在xml文件中实例化内部类(Preference)

如果要在某个layout.xml文件中访问自定义视图,可以使用以下两个选项:

  1. 视图属于它自己的类.然后你做<package.name.MyView android:layout_width= ... />
  2. 视图是内部类: <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

9
推荐指数
1
解决办法
1261
查看次数

Android Custom Widget Inflate Exception

  <?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)

android

7
推荐指数
2
解决办法
3411
查看次数