Androidアプリ用に、BaseballCardsList、BaseballCardsDetails、FilterBaseballCardsの3つのアクティビティを作成しました。BaseballCardsListは、アプリの起動時に読み込まれるメインのアクティビティです。メニューがあり、他の2つのアクティビティのいずれかが表示されます。BaseballCardsListとBaseballCardsDetailsを持っていたとき、すべてが正しく機能しているように見えました。しかし、FilterBaseballCardsを追加すると、問題が発生し続けます。私はすでに、私が省略した1つの問題android:layout_width
とandroid:layout_height
属性を理解しました。私の現在の問題は、BaseballCardsDetailsまたはFilterBaseballCardsのXMLレイアウトファイルを変更すると、メニューをクリックして間違ったアクティビティが読み込まれるか、アクティビティがまったく読み込まれないことです(アプリは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);
}
}