0

私は現在、Eclipse (Java) でスマートフォンとタブレットのレイアウト プロジェクトに取り組んでいます。開発者サイトの指示に従って、さまざまな画面にさまざまなレイアウトを作成する方法を説明しましたが、これは問題なく機能します。

私が抱えている問題は、異なるレイアウトで異なるボタンが必要なことです.1つのボタンを削除すると、スマートフォンのバージョンを言うことができますが、タブレットのバージョンで使用したい場合、MainActivity.java で呼び出しているため、スマートフォンのバージョンがクラッシュします彼が見つけることができないボタンのために。

デバイスごとに異なる mainActivity ページを作成して問題を解決しようとしましたが、現在使用されているデバイスに応じて AndroidManifest に異なる名前の複数の起動ページを作成できるかどうかわかりません。

よろしく。

4

3 に答える 3

0

この目的にはAndroidQueryを使用することをお勧めします。1 つの単純なコードで複数の UI 実装をサポートします。

public void renderContent(Content content, View view) {

        //this is a phone!

        //this view exists
        aq.id(R.id.textInMobileLayoutOnly).text("Welcome to my Mobile App!");

        //this button exist in tablet layout only, but it's ok
        //AQuery will ignore all the operations on this view
        aq.id(R.id.butttonInTabletOnly).text("Open a new tab!");        

}
于 2013-08-30T08:26:41.140 に答える
0

別のボタンであるがボタンがまだ存在する場合は、変数を初期化してその他のボタンを参照するだけで、コードは引き続き機能するはずです。

動作が同じでない場合は、ほとんどの共通コードを含む基本クラスと、レイアウトごとに 1 つずつ 2 つのサブクラスを持つことができます。

于 2013-08-30T07:52:14.743 に答える
0

問題は、異なるレイアウト ファイルの異なるボタンに異なる ID を与えている可能性があることです。レイアウト フォルダーに従ってドローアブル/スタイルを変更しますが、異なるレイアウトのすべてのボタンの ID は同じにします。

于 2013-08-30T07:54:50.587 に答える