雖然這往往是非常基本的問題,但我無法解決這個問題。我搜索了類似的問題,但沒有解決我的問題。Classcastexception:Widget不能轉換爲佈局
我創建了自己的課堂,我創造了一些基本控件,我叫這個類在我的XML作爲
<com.mypackagename.classname
..
..
/>
和一些看法去這裏面。而在此之前,現在我想的RelativeLayout添加爲
activity_main1.xml:
<RelativeLayout xmlns:android="schemas.android.com/apk/res/android"
xmlns:android1="http://schemas.android.com/apk/res/android"
android1:layout_width="match_parent"
android1:layout_height="wrap_content" >
<com.test.MainLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainlayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/drawer_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/ic_drawer" />
</LinearLayout>
</com.test.MainLayout>
</RelativeLayout >
和我在我的主要活動我聲明 MainActivity:
Myview view;
view = (Myview)this.getLayoutInflater().inflate(R.layout.activity_main1, null);
setContentView(view);
MyView的地方是我有我自己的控制的類。
增加相對佈局後,我想是這樣
MainActivity1.java:
public class MainActivity1 extends FragmentActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
RelativeLayout item = (RelativeLayout)findViewById(R.id.item);
view = (Myview)this.getLayoutInflater().inflate(R.layout.activity_main1, null);
item.addView(view);
setContentView(item); // facing an error here
.......... rest of the code
}
和我的佈局活動
public class MainLayout1 extends LinearLayout
{
....
}
在運行它拋出ClassCastException異常和錯誤是
java.lang.ClassCastException:android.widget.RelativeLayout不能轉換到com.view.layout.MainLayout
是佈局貼'actiivty_main1.xml'? – Raghunandan
我知道這是事實,但是,您是否已經執行了所有基本步驟,例如清理項目或關閉項目並重新打開它以及所有這些? –
yes @ Raghunandan – AndroidOptimist