2012-04-17 68 views
0
int department; 
Button search; 
String display; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    department = 0; 
    search = (Button) findViewById(getResources().getIdentifier("btnSearch", "id", getPackageName())); 
    display = (String) findViewById(getResources().getIdentifier("tvDisplay", "id",  getPackageName())); 

    search.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      if (department == 1) 
      { 
       display = "food"; 
      } 

我想要做的是讓用戶輸入一個數字,點擊一個按鈕,它會顯示一個部門名稱在textView我有底部。但是,我得到了錯誤,我已經將它的幾個部分轉換爲字符串而不是textView。我如何解決輸出的地方?需要幫助修復我的項目輸出

display = (String) findViewById(getResources().getIdentifier("tvDisplay", "id", getPackageName()));是說它不能從視圖轉換爲字符串。

+0

你想'顯示爲一個字符串或textView' – 2012-04-17 14:00:26

+0

請告訴我們的main.xml文件和也粘貼完整的代碼,這段代碼有缺失大括號 – 2012-04-17 14:11:50

回答

2

試試這個:

TextView display = (TextView) findViewById(getResources().getIdentifier("tvDisplay", "id", getPackageName())); 

// get the text 
String displayString = (String)display.getText(); 
0

tvDisplay是一個TextView,而不是一個字符串。因此,顯示一個TextView,找到視圖,然後調用display.getText()來獲取顯示的文本。

2

問題是你正在將textview轉換爲字符串。你應該改變的display類型TextView,並利用其setText方法,它顯示的文字,嘗試下面的代碼:

int department; 
Button search; 
TextView display; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    department = 0; 
    search = (Button) findViewById(getResources().getIdentifier("btnSearch", "id", getPackageName())); 
    display = (TextView) findViewById(getResources().getIdentifier("tvDisplay", "id", getPackageName())); 

    search.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      // TODO Auto-generated method stub 
      if (department == 1) 
      { 
       display.setText("food"); 
      } 
     } 
    }); 
}