2016-10-04 41 views
0

我有一個java類和一個Activity類。訪問活動類到java類的意圖視圖

在我的java類中,它由業務邏輯組成。我想從Activity類訪問Textviews到我的java類。

如果我創建一個活動類的對象。我將activity類中的所有視圖都視爲NULL,並獲得空指針異常。

這是我的java類這裏我創建了活動類的對象,在這裏我得到NULLpointerExceptiontdoor.setText()方法。

public class Subscribe { 

viewtiles vtiles=new viewtiles(); 


public void sendMessageforstatus(String status) 
{ 
     if(status.contains("Door is open")) 
     { 


       vtiles.tdoor.setText("OPEN"); 

     } 

     else if(status.equalsIgnoreCase("Door is close")) 
     { 

      vtiles.tdoor.setText("CLOSE"); 
     } 

這是我的活動佈局類

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.tilesview); 

    tdoor = (TextView) findViewById(R.id.door2); 
} 

XML

<RelativeLayout xmlns:android="schemas.android.com/apk/res/android"; 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@android:color/background_light" > 
     <TextView android:layout_width="79dp" 
      android:layout_height="wrap_content" 
      android:text="Door" 
      android:layout_marginTop="10dp" 
      android:layout_marginLeft="52dp" 
      android:id="@+id/door1" 
      android:textColor="@android:color/black" 
      android:textSize="20dp" /> 
</RelativeLayout> 

u能plzzz幫助我這個問題...

+0

發表您的XML代碼 –

+0

<的RelativeLayout的xmlns:安卓= 「http://schemas.android.com/apk/res/android」 的android:layout_width = 「match_parent」 機器人:layout_height = 「match_parent」 機器人:背景= 「@機器人:顏色/ background_light」 >

+0

當你通過'new viewtiles()'創建'viewtiles'活動時,你正在創建一個全新的活動而不是訪問已經存在的活動 - 我假設你想要訪問。除此之外,從業務邏輯類訪問活動(MVC意義上的控制器類)是一個糟糕的設計。您應該更好地從活動中訪問業務邏輯類。 – gus27

回答

0

您可以通過TextView的對象進入你的Java類,

public void sendMessageforstatus(String status, TextView txt) 
{ 
    // example 
    txt.setText("OPEN"); 
} 
+0

iam從另一個活動調用sendMessageforstatus()方法,所以我無法通過TectView對象 –