程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-從類對象的方法中接收空指針異常

java-從類對象的方法中接收空指針異常

編輯:編程綜合問答
從類對象的方法中接收空指針異常

我有一個自定義視圖,我把它聲明字了‘main’XML文件中:

<com.app.DrawView
android:id="@+id/my_view"
android:layout_height="match_parent"
android:layout_width="match_parent" />

然後在我的activity中的onCreate方法中:

setContentView(R.layout.main);

顯示自定義視圖這些都很正常。但是我想要做的是給當前視圖傳遞值。所以我試著做了一個實例的自定義視圖:

DrawView drawView = (DrawView) findViewById(R.id.my_view);

然後在DrawView類,我創建了一個方法:

public void setUserData(boolean data){
      useEraser = data;
}

現在,我的問題是,在我的activity中,當我想要位DrawView對象訪問這個方法的時候我一直會得到一個NullPointerExeption,就像這樣:

boolean value = true;
drawView.setUserData(value);

錯誤指向drawView.setUserData(value)這一行。我哪塊有問題?我知道我犯了一個簡單的錯誤,但是它就是想讓我找到他。

我嘗試用一個方法,但是我發現沒法實現。我把

DrawView drawView = (DrawView)findViewById(R.id.my_view);

放在

setContentView(R.layout.main);

前邊。

我知道我碰到的這是一個很簡單的問題。希望大家能幫幫忙。

最佳回答:


如果你想要創建一個新的,試試這個,
把一個linearlayout放到你的xml中,作為一個holder

<LinearLayout
        android:id="@+id/ln1"
        android:layout_width="wrap_content"
       android:layout_height="300dp" >

    </LinearLayout>

同時在oncreate方法用下邊的:

LinearLayout ln = (LinearLayout)findViewById(R.id.ln1);
         com.example.mixed.DrawView dw2 = new DrawView(getApplicationContext());
         dw2.setUserData(false);
         ln.addView(dw2);

it 如果你把它放到你的布局xml中應該是沒有問題的。

Sueyexin
zhengdanimu
Sueyexin
zhengdanimu
Sueyexin
zhengdanimu
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved