我为 Android 应用程序创建了三个活动:BaseballCardsList、BaseballCardsDetails 和 FilterBaseballCards。BaseballCardsList 是启动我的应用程序时加载的主要活动。它有一个菜单,然后显示其他两个活动之一。现在,当我只有 BaseballCardsList 和 BaseballCardsDetails 时,一切似乎都正常工作。但是当我添加 FilterBaseballCards 时,我一直遇到问题。我已经找到了一个我遗漏的问题android:layout_width
和android:layout_height
属性。我当前的问题是对 BaseballCardsDetails 或 FilterBaseballCards 的 XML 布局文件的更改会导致单击菜单以加载错误的 Activity 或根本不加载任何 Activity(应用程序仍保留在 BaseballCardsList 上)。
目前,我在 filter_cards.xml 中有以下内容:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/filter_by_label"
/>
<Button android:id="@+id/ok_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/ok_button"
/>
</LinearLayout>
这会按我的预期编译和运行。当我添加
<Button android:id="@+id/cancel_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/cancel_button"
/>
在 LinearLayout 的末尾,单击菜单加载 BaseballCardDetails 加载应该在 FilterBaseballCards 中的小部件,然后单击菜单加载 FilterBaseballCards 什么也不做。
我是 Android 编程的新手,对此感到非常沮丧。我以为我从我所做的阅读中了解了一切是如何运作的,但显然不是。我不知道为什么添加 Button 小部件会导致看似无关的问题。而且我不知道如何追查真正的问题是什么。我在哪里可以解决这个问题?如果我需要发布更多代码,我会很乐意这样做。不过,我的最后一个问题以所有代码结束,所以我不想在我的新问题中用这么多代码淹没每个人。
FilterBaseballCards.java
package bbct.android;
import android.app.Activity;
import android.os.Bundle;
public class FilterBaseballCards extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.filter_cards);
}
}