私はいくつかの簡単なビューを含むアプリケーションを書いています。最初はたった2つのボタンです。各ボタンは地図につながり、この地図からサイト上の建物のリストを開くボタンがあります。ここから、ユーザーは建物を選択して詳細情報を表示できます(実際の連絡先リストのように)。これまでのところ、次のように、文字列配列を作成してアクティビティ内に直接入力することで、リストビューに入力できます。
public class BuildingsActivity extends ListActivity {
static final String[] buildings=new String[]{
"Building 1",
"Building 2",
"Building 3",
"Building 4",
"Building 5"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_buildings);
// Show the Up button in the action bar.
getActionBar().setDisplayHomeAsUpEnabled(true);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,buildings));
}
これはすべてうまく機能し、5項目のリストには適していますが、最終的な形式では、リストには最大100の建物が含まれる可能性があり、2つの懸念があります。1)100項目の長い文字列配列は非常に粗く見えます。このようなコードで定義されています2)事前にこのような大量の文字列値のリストを生成する必要がある場合、アプリケーションがアクティビティを開くのにどれくらいの時間がかかるかが心配です
これを回避するために、strings.xmlファイルでこの文字列配列を定義し、リストアクティビティに対応するレイアウトXMLのリストレイアウトに文字列を割り当てることを考えました。ただし、これまでのところ、これは機能していないようです。エラーはありませんが、android:entriesコマンドはレイアウトにまったく影響を与えません。これはXMLです。誰かがこの方法でリストを作成する知識を持っているなら、私はあなたの答えをいただければ幸いです。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".BuildingsActivity" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/buildings">
</ListView>
</RelativeLayout>
もう1つの方法は、テキストファイルから取得することです。これは、詳細を作成するために行う必要があります(テキストの量が多すぎて文字列として保存する必要がないため)が、リストでは避けたいと考えていました。確かに、私はこのルートをあまり研究していません(私はまだそれを使いたくなかったので、他のフォーラムで見たものに基づいてそれは難しいようですが、この方法のサポートがたくさんあるなら、私は確かにそうしますそれを使用する際のアドバイスに感謝します。
これのいずれかがすでに他のスレッドでカバーされている場合は、私を許してください。私は似たようなトピックを検索しましたが、この方法でリストに入力したいと思う人は誰もいなかったようで、彼らの質問からの多くの言語が私の頭に浮かびました(私は非常に新しいです...これは、作業を終えた以外に、私の最初の実際のアプリケーションです開発者のWebサイトにあるチュートリアルの一部。