安卓帮助初学者程序员



source :

package dreamcode.tutorials.part_two;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.EditText;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
public class dic_tut2 extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                Button b = (Button)this.findViewById(R.id.btn_confirm);
                b.setOnClickListener(this);
    }
    @Override        
    public void onClick(View v) {
                TextView tv = (TextView)this.findViewById(R.id.tv_welcome);
                EditText et = (EditText)this.findViewById(R.id.txt_name);
                String text = "Hello, " + et.getText().toString() + ".nn";
                text += "Welcome to android development. :)";
                tv.setText(text);
    }
}

调试信息:

Android [Android Application]   
    DalvikVM[localhost:8610]    
        Thread [<3> main] (Suspended (exception RuntimeException))  
            ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2417  
            ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2512   
            ActivityThread.access$2200(ActivityThread, ActivityThread$ActivityRecord, Intent) line: 119 
            ActivityThread$H.handleMessage(Message) line: 1863  
            ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
            Looper.loop() line: 123 
            ActivityThread.main(String[]) line: 4363    
            Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
            Method.invoke(Object, Object...) line: 521  
            ZygoteInit$MethodAndArgsCaller.run() line: 860  
            ZygoteInit.main(String[]) line: 618 
            NativeStart.main(String[]) line: not available [native method]  
        Thread [<13> Binder Thread #2] (Running)    
        Thread [<11> Binder Thread #1] (Running)

问题:据我了解,这是我的功能有问题或Android版本的不兼容。源代码取自 1.5 版。并用于 2.1 版。因此,任何人都可以以任何方式解释或显示正确的方向,在那里我可以找到正确的功能创建按钮。或者请修复此代码以开始工作。

我的目标 :创建执行某些操作的函数。版本兼容性 2.1.

编译器 说:

[2011-05-14 12:10:33 - dic_tut2] ------------------------------
[2011-05-14 12:10:33 - dic_tut2] Android Launch!
[2011-05-14 12:10:33 - dic_tut2] adb is running normally.
[2011-05-14 12:10:33 - dic_tut2] Performing dreamcode.tutorials.part_two.dic_tut2 activity launch
[2011-05-14 12:10:33 - dic_tut2] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'my_avd'
[2011-05-14 12:10:33 - dic_tut2] Uploading dic_tut2.apk onto device 'emulator-5554'
[2011-05-14 12:10:33 - dic_tut2] Installing dic_tut2.apk...
[2011-05-14 12:10:39 - dic_tut2] Success!
[2011-05-14 12:10:40 - dic_tut2] Starting activity dreamcode.tutorials.part_two.dic_tut2 on device emulator-5554
[2011-05-14 12:10:45 - dic_tut2] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=dreamcode.tutorials.part_two/.dic_tut2 }

有用的东西:

我会把我的2美分扔进去。首先,在使用 eclipse 时,有一个错误,它正在 eclipse 和 sdk 之间工作。如果您修改 xml 文件,保存并尝试构建通常会收到有关解析的错误。如果从问题窗口中删除错误,请修改 java 文件并保存它。现在它应该编译了。当我说修改时,您可以添加一行并删除它,然后保存它。如果将 java 文件保存在 xml 文件之后,它应该进行编译。(#6 代码锤子 )

我这样做了,错误消失了= ]]]。

首先,为什么要在单击按钮时初始化视图?您必须在 onCreate 方法中执行此操作,并在单击时更改其文本值。无论如何,很难根据您的调试信息说些什么。

在您的活动中实现 onclicklistener 接口。然后在您的oncreate方法中编写用于单击按钮的代码。

最新更新