2010-12-07 69 views
1

SUPER FINAL LAST EDIT:我得到它的工作正是我想要的......我想我學到了很有價值的東西。首先,我必須改變TextView的ID(我的舊代碼表示r.id.usebuttonid,這是錯誤的,引用了按鈕的文本特徵,我只是改變了它,並修復了TextView的ID的字符串名稱的一個小問題!字符串和它的工作就像一個魅力,謝謝大家我很欣賞你輸入的最終代碼如下)基本Android幫助?

終極密碼:。

package com.jwright.test; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.TextView; 

public class testerproject extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    final TextView joke = (TextView) findViewById(R.string.UseButtonID); 
} 

public void UseButtonOnClick(View view) 
{ 
    final TextView joke = (TextView) findViewById(R.string.TextViewID); 
    joke.setText("changed!"); 
    return; 
} 

}


你好StackOverflow上。我是剛接觸android編程的新手,但對java來說並不陌生(我必須在java中爲我的學校開設的課程編程),並試圖學習基礎知識。我瀏覽了開發者網站上的「教程」,但找不到任何像樣的幫助。

我只是試圖從小處着手並努力工作。我想略微修改基本程序,以便當我按下按鈕時,它將文本更改爲更改!

我用下面的代碼:

package com.jwright.test; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.TextView; 

public class testerproject extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    final TextView joke = (TextView) findViewById(R.string.UseButtonID); 
} 

public void UseButtonOnClick(View view) 
{ 
    final TextView joke = (TextView) findViewById(R.string.UseButtonID); 
    joke.setText("changed!"); 
    return; 
} 
`}` 

創建按鈕,並嘗試更改文本。 Eclipse說這一切都檢查罰款(沒有紅色標記,只有一些黃色的),但是當我在我的手機(宏達EVO)上運行它,並單擊按鈕(注意:它的工作,如果我不單擊按鈕...只有一次我點擊按鈕)它告訴我應用程序意外停止。請再試一次。

如果有人能向我解釋我需要做些什麼來幫助你們,或者如果你能幫我弄清楚我的錯誤,那會很棒。

更好的是,如果有人知道我可以使用的免費資源比開發者教程更清晰易懂,那將非常棒!

非常感謝您提前!

詹姆斯

EDITED編輯: 我想通了,我的錯誤的一部分。我將該方法稱爲字符串的名稱,我將該按鈕的onclick值設置爲,而不是該字符串的值。問題1:解決。

不過!當按鈕被點擊時......它改變了按鈕本身的文本,而不是文本視圖的文本。有任何想法嗎?上面的代碼被改變以反映當前的工作代碼。

+0

你怎麼連接UserButtonMethod?在佈局?也許你有錯的名字?如果你是這樣做的,請張貼嗎?你有什麼不應該強制關閉,但不會工作,除非你在佈局中設置onClick。 – 2010-12-07 02:55:33

+0

您的manifest.xml中是否有testerproject?你有沒有在開發者教程中完成簡單的'hello world'?在前兩個或三個項目中應該有足夠的內容來幫助你達到這一點。 – KevinDTimm 2010-12-07 02:55:54

+0

基本上你必須爲按鈕註冊一個OnClick監聽器。當按鈕被按下時,監聽器被觸發。在那裏你可以有代碼來做你想做的事情,比如改變文本。 – seand 2010-12-07 03:20:27

回答

2

從你的代碼看起來你需要花一些時間學習基礎知識。當我第一次開始時,這些教程非常有幫助http://www.xtensivearts.com/topics/tutorials/page/2/

Android開發人員的文檔和教程起初可能相當令人難以置信,但我強烈建議您儘可能多地閱讀它,即使您沒有得到它所有,即使它是壓倒性的。對Android構建的術語和框架有一個總體的瞭解,在你前進的過程中會對你有所幫助。http://developer.android.com/guide/topics/fundamentals.html框架主題類別中的大部分文章都非常重要。

雖然您要求免費資源,但我也強烈推薦CommonsWare's books。他們負擔得起,值得每一分錢。

除了學習如何構建應用程序,還應該學習如何調試它們。例如,你提到你的應用程序崩潰。有很多工具可以幫助你找出原因。 LogCat提供了關於爲什麼你的應用程序崩潰的非常具體的信息,所以你可以在那裏找到答案。如果您使用Eclipse,則可以從「調試透視圖」或單擊「窗口」>「ShowView」>「LogCat」來查看它。一些更多信息:http://developer.android.com/guide/developing/debug-tasks.html

當您的應用程序崩潰查看日誌時,只能通過單擊LogCat頂部的W圓圈將其過濾爲警告和錯誤。它將有錯誤的堆棧跟蹤,你可以按照它來找到你的應用程序中發生的地方和行。

1

這是一個很好的鏈接,可以幫助你學習:Android-er。我自己在使用它,並試圖在我自己的博客上做任何事情(剛開始)。我鼓勵你也這樣做。你永遠不知道誰會看到你所做的並給你一些指示。