【问题标题】:Source not found!找不到来源!
【发布时间】:2011-02-24 00:32:22
【问题描述】:

我正在尝试编写一个在选择按钮时打开另一个窗口的应用程序,这是我目前所拥有的:

public class AndroidAlarm extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

            Button codesBtn = (Button)findViewById(R.id.imagebutton1);
    codesBtn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View argo) {
            Intent i = new Intent(AndroidAlarm.this, Codes.class);
            startActivity(i);
        }
    });

   }
}

这是我在默认类中的内容,我尝试启动的活动是一个名为 Codes 的类:

public class Codes extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.codes);
    }
}

它将具有功能,但现在我只是想打开它。 Codes.java(上图)连接到名为codes.xml 的布局。

我的清单文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.affirma.androidalarm"
  android:versionCode="1"
  android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity class =".AndroidAlarm" android:name = ".AndroidAlarm"
                  android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity class = ".Codes" android:name = ".Codes" android:label="Codes">
        </activity>
    </application>
</manifest>

当我运行程序时,它会启动然后崩溃说它突然结束。当我调试时,它在 AndroidAlarm.java 中找到的这一行中断:

codesBtn.setOnClickListener(new View.OnClickListener() {

它说找不到源。关于“activitythread.preformlauncher ...”的东西无论如何我不知道为什么会发生任何建议?

【问题讨论】:

  • 请显示错误消息的完整堆栈跟踪。使用 logcat:adb logcat 或 Eclipse 中的 DDMS 透视图。

标签: java android eclipse events onclick


【解决方案1】:

错误是因为它试图从 R.layout.main 中的 R.java 文件中查找“imagebutton1”的 id。所以请确保你已经正确初始化了 imagebutton1 并且 R.java 包含相同的 id。

【讨论】:

  • 在我的 R.java 文件中有一行:public static final int imagebutton1=0x7f070001; 所以我知道它已正确初始化。即使我将光标放在Button codesBtn = (Button)findViewById(R.id.imagebutton1); 中的 imagebutton1 上,它也会显示按钮的内存地址。
【解决方案2】:

您确定您的 imagebutton1 在 R.layout.main 中吗?我试过你的代码,它工作正常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多