Android開発(Listview)について

このQ&Aのポイント
  • Androidアプリ開発におけるlistviewについて質問させてください。どのような方法で、実現できるかアドバイスして頂けると助かります。
  • 東京をクリックしたら、新宿、上野、秋葉原、千葉をクリックしたら、千葉、市川、船橋など、さらに地域を絞っていきたいと考えています。
  • Android開発(Listview)における地域絞り込みの実現方法について、アドバイスをお願いします。
回答を見る
  • ベストアンサー

Android開発(Listview)について

Androidアプリ開発における listviewについて質問させてください。 以下で、東京都,神奈川県,千葉県,埼玉県,茨城県,栃木県,群馬県と表示されています。 東京をクリックしたら、新宿、上野、秋葉原 千葉をクリックしたら、千葉、市川、船橋 といったように、さらに地域を絞っていきたいと考えています。 どのような方法で、実現できるか アドバイスして頂けると助かります。 ■searchActivity.java import android.app.Activity; import android.os.Bundle; import android.widget.*; public class searchActivity extends Activity { private ListView list; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); String[] arr = {"東京都","神奈川県","千葉県","埼玉県","茨城県","栃木県","群馬県"}; // コンポーネントの設定 list = (ListView)this.findViewById(R.id.list); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list, arr); list.setAdapter(adapter); } } ■main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textSize="20sp" android:background="#ffffff" > <ListView android:id="@+id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout> ■list.xml <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textSize="20sp" android:paddingTop="50.0px" android:paddingLeft="20.0px" android:background="#ffffff" android:textColor="#000000" /> 以上、宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • foofoo0
  • ベストアンサー率42% (39/92)
回答No.2

ザックリとですが、こんな感じでやればよいと思いますよ。 ■searchActivity.java(変更点) @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); String[] arr = {"東京都","神奈川県","千葉県","埼玉県","茨城県","栃木県","群馬県"}; // コンポーネントの設定 list = (ListView)this.findViewById(R.id.list); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list, arr); list.setAdapter(adapter); list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { setList2(arg3); } }); } private void setList2(long id) { String[] tokyo = {"新宿","上野","秋葉原"}; String[] chiba = {"千葉","市川","船橋"}; ArrayAdapter<String> adapter = null; switch ((int)id) { case 0: adapter = new ArrayAdapter<String>(this, R.layout.list, tokyo); break; case 2: adapter = new ArrayAdapter<String>(this, R.layout.list, chiba); break; } list.setVisibility(View.GONE); ListView list2 = (ListView)this.findViewById(R.id.list2); list2.setAdapter(adapter); list2.setVisibility(View.VISIBLE); } ■main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textSize="20sp" android:background="#ffffff"> <ListView android:id="@+id/list" android:visibility="visible" android:layout_height="fill_parent" android:layout_width="fill_parent"/> <ListView android:id="@+id/list2" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </RelativeLayout>

regal38
質問者

お礼

ありがとうございます。 なんとなくですが、理解出来ました。 そして、とても参考になりました。 今後は、東京→新宿","上野","秋葉原を表示したあとに 新宿なら、shinjyuku.html  上野なら、ueno,html 秋葉原なら、akihabara.html を開きたいと思ってます。 また、新宿、上野、秋葉原から戻るキーが押された場合 東京都","神奈川県","千葉県","埼玉県","茨城県","栃木県","群馬県の画面に戻りたいです。 とりあえず、ここから先は 自分で調べてみたいと思います。 また質問するかもしれませんので その時は、教えてください。

その他の回答 (1)

  • foofoo0
  • ベストアンサー率42% (39/92)
回答No.1

都道府県リストの内容を、選択された項目によって入れ替える方法と、別にもうひとつListViewを用意して都道府県リストと表示・非表示を切り替える方法があるかと思います。 後者の場合、表示・非表示を切り替える代わりに、別Activityにすることも出来ますが、それぞれにどれくらいの処理があるかどうかで、分けるか分けないかを決めればよいと思います。

regal38
質問者

お礼

foofoo0様 いつも ありがとうございます。 なんとなくですが、後者のやり方のほうが 今後、自分の為になりそうな気がします。 サンプル等が載っているような URLをご存知ないでしょうか? 以上、宜しくお願いいたします。

関連するQ&A

  • Androidアプリ Listviewが

    アドバイスください。初心者です。Listviewを作りたいだけなんです。”データがありません”と表示されてしまいます・・。 ●layout(.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" > <ListView android:id="@+id/android:list" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <TextView android:id="@+id/android:empty" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="データが存在しません"/> </LinearLayout> ●listview(.java) import android.app.Activity; import android.app.ListActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; //ListActivityを継承 import com.example.yamato.myapplication001.R; public class listview extends ListActivity { private String[] items = { "a10", "a11", "a21", "b10" }; //(2) // private String[] items = {};(2) @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //リストビューを含むレイアウト指定(1) setContentView(R.layout.activity_main_activity001); // ArrayAdapterオブジェクトの生成 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items); // Adapterの指定 setListAdapter(adapter); // ListActivity内部にあるListViewオブジェクトを取得する場合 ListView listView = getListView(); // ListViewオブジェクトを取得したので以下のメソッド等が利用できる // 選択する要素の位置の指定 listView.setSelection(3); } } ソースは参考本からです。

  • Android開発(switch文)について

    Android開発(switch文)について Androidアプリ開発における listviewについて質問させてください。 現在、"東京","神奈川","千葉","埼玉","茨城","栃木","群馬" 画面から東京を選び、"新宿","上野","秋葉原"が表示されています。 public void onBackPressed を追加したことにより 一つ前の画面に戻る事ができたのですが このような記述で問題ないでしょうか? もっとシンプルなやり方があれば、アドバイス願います。 また、"新宿","上野","秋葉原"画面から 新宿を選んだ時は、shinjyuku.html 上野を選んだときは、ueno.html 秋葉原を選んだ時は、akihabara.html を表示したいのですが どのタイミングで、switch文を入れれば良いのでしょうか? ■searchActivity.java import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.*; import android.widget.AdapterView.OnItemClickListener; public class searchActivity extends Activity { private ListView list; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); String[] arr = {"東京","神奈川","千葉","埼玉","茨城","栃木","群馬"}; // コンポーネントの設定 list = (ListView)this.findViewById(R.id.list); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list, arr); list.setAdapter(adapter); list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { setList2(arg3); } }); } private void setList2(long id) { String[] tokyo = {"新宿","上野","秋葉原"}; String[] kanagawa = {"横浜","桜木町","関内","新横浜"}; String[] chiba = {"千葉","市川","船橋"}; String[] saitama = {"大宮","浦和","蕨","川口・西川口"}; ArrayAdapter<String> adapter = null; switch ((int)id) { case 0: adapter = new ArrayAdapter<String>(this, R.layout.list, tokyo); break; case 1: adapter = new ArrayAdapter<String>(this, R.layout.list, kanagawa); break; case 2: adapter = new ArrayAdapter<String>(this, R.layout.list, chiba); break; case 3: adapter = new ArrayAdapter<String>(this, R.layout.list, saitama); break; } list.setVisibility(View.GONE); ListView list2 = (ListView)this.findViewById(R.id.list2); list2.setAdapter(adapter); list2.setVisibility(View.VISIBLE); } //ここを追加 @Override public void onBackPressed() { //メニュー画面に戻る(start) setContentView(R.layout.main); String[] arr = {"東京","神奈川","千葉","埼玉","茨城","栃木","群馬"}; list = (ListView)this.findViewById(R.id.list); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list, arr); list.setAdapter(adapter); list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { setList2(arg3); } }); } } ■main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textSize="20sp" android:background="#ffffff"> <ListView android:id="@+id/list" android:visibility="visible" android:layout_height="fill_parent" android:layout_width="fill_parent"/> <ListView android:id="@+id/list2" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </RelativeLayout> ■list.xml <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textSize="20sp" android:paddingTop="50.0px" android:paddingLeft="20.0px" android:background="#ffffff" android:textColor="#000000" /> 以上、宜しくお願いいたします。

  • Android開発についての初心者質問です。

    Android開発についての質問です。初心者でAndroidアプリを作っています。 初心者でAndroidアプリを作っています。 XMLからの実装をしたいのですが、 やり方がよく分かりません。 どなたかご教授頂けないでしょうか? よろしくお願いいたします。 やりたいことは、imageButtonをクリックしたら imageViewの画像部分が変わる。 imageButton1をクリック → imageView1が表示 imageButton2をクリック → imageView2が表示 デフォルトでは、imageView1が表示している状態 buttonのリスナーを登録するのが関の山で、ボタンクリック時の imageView表示切替処理等ちんぷんかんぷんです。 XMLはこういった感じで書いてます。 よろしくお願いいたします。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <FrameLayout android:id="@+id/frameLayout1" android:layout_height="wrap_content" android:foregroundGravity="center" android:layout_width="match_parent" > <ImageView android:layout_height="wrap_content" android:src="@drawable/icon" android:id="@+id/imageView1" android:layout_gravity="center" android:layout_width="match_parent" > </ImageView> </FrameLayout> <LinearLayout android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:layout_width="match_parent" > <ImageButton android:id="@+id/imageButton1" android:layout_height="wrap_content" android:src="@drawable/icon" android:layout_width="wrap_content" > </ImageButton> <ImageButton android:id="@+id/imageButton2" android:layout_width="wrap_content" android:src="@drawable/icon" android:layout_height="wrap_content" > </ImageButton> <ImageButton android:id="@+id/imageButton3" android:layout_width="wrap_content" android:src="@drawable/icon" android:layout_height="wrap_content" > </ImageButton> </LinearLayout> </LinearLayout>

  • androidプログラムのエラーについて

    自分は今、本を読みながらandroidプログラミングの勉強をしています。 XMLファイルをよく見直して間違いは見当たらないのですが 起動しようとすると「your project contains error」と表示されます。 コンソールには「No resource found that matches the given name (at 'title' with value '@string/menu_settings')」と書いてあります。 ネットで調べたらソースをクリーンすればいいと書いてありましたが クリーンすると今度はjavaファイルにエラーが起きます。 以下が自分が打ち込んだXMLのソースコードです。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="お申込みフォーム" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:text="お名前 :" android:layout_width="70sp" android:layout_height="wrap_content"/> <EditText android:id="@+id/name" android:layout_width="200dp" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:text="住所 :" android:layout_width="70sp" android:layout_height="wrap_content"/> <EditText android:id="@+id/address" android:layout_width="200dp" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:text="生年月日 :" android:layout_width="70sp" android:layout_height="wrap_content"/> <Spinner android:id="@+id/month" android:entries="@array/month" android:layout_width="85dp" android:layout_height="wrap_content"/> <TextView android:text="月" android:layout_width="20sp" android:layout_height="wrap_content"/> <Spinner android:id="@+id/day" android:entries="@array/day" android:layout_width="85dp" android:layout_height="wrap_content"/> <TextView android:text="日" android:layout_width="20sp" android:layout_height="wrap_content"/> </LinearLayout> </LinearLayout> どうかよろしくお願い致します。

  • androidアプリ開発について

    androidアプリ開発初心者です。 やりたいことは、 スタートボタンを押して、自分のお気に入りのページに飛び、(例えばオークションなど)サイトを表示させ、何分間ごとに更新できるループ処理?などができればいいなと考えています。 スタートボタンを押してサイトを表示するまでは何とか作れたのですが、それ以降をどのように作ったらいいのか分かりません。 初心者的な質問で申し訳ないのですが、どのように書いたらよいのか教えてください。 コードはこのようになっています。 <<main.xml>> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="192dp" android:layout_height="wrap_content" android:text="スタート" /> </LinearLayout> <<MainActivity.java>> import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { Button btn =null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn=(Button)findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ Uri uri =Uri.parse("http://"); Intent intent=new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(uri); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } 長文で申し訳ありません。どうぞ宜しくお願い致します。

  • androidのサンプルソースについての質問

    このページを参考に学習をしていたのですが http://libro99.appspot.com/index3?id=29&page=2&label=android .javaに追加するぶぶんで text.setText(selradio.getText()); ~~~~ の波線の部分のエラーをどうしても消すことができず 困っています package test.radiobutton; import android.app.Activity; import android.os.Bundle; import android.widget.RadioButton; import android.widget.RadioGroup; public class radiobuttontest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); RadioGroup group = (RadioGroup)this.findViewById(R.id.group); RadioButton radio1 = (RadioButton)this.findViewById(R.id.radio1); RadioButton radio2 = (RadioButton)this.findViewById(R.id.radio2); radio2.setChecked(true); int selid = group.getCheckedRadioButtonId(); RadioButton selradio = (RadioButton)this.findViewById(selid); text.setText(selradio.getText()); } } main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <RadioGroup android:id="@+id/group" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:text="@string/radio1_label" android:id="@+id/radio1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:text="@string/radio2_label" android:id="@+id/radio2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RadioGroup> </LinearLayout> これ以上はかけませんがページの指示通りにやってるつもりです どなたかご教授お願いします

    • ベストアンサー
    • Java
  • すいません、Android初心者です

    最近EclipseでAndroidの勉強を始めたものです。 早速ですが、以下のソースを実行すると、何故か「[アプリ名](パッケージ名)が予期せず停止 しました。やり直してください」と出てきます・・・コメントの部分をコメントアウトするとうまく動作 するのですが、何故でしょうか?なお、ターゲットは2.3.3のものを利用しています。 /* +++ Javaソース +++ */ import android.app.Activity; import android.os.Bundle; import android.widget.Button; public class Android_Test01Activity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Button button1 = (Button) findViewById(R.id.button1); //button1.setText("button1"); setContentView(R.layout.main); } } /* +++ 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" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> </LinearLayout>

    • ベストアンサー
    • Java
  • Androidコンパイル時のエラーについて

    Androidの開発中に下記エラーが出ます。 対処の解る方がおりましたらば教えていただけますでしょう 宜しくお願いいたします。 詳細内容及びソース、XML エラー 2011-05-11 16:09:27 - BMICalculator2] res\layout\main.out.xml:0: Originally defined here. [2011-05-11 16:09:27 - BMICalculator2] C:\workspace\BMICalculator2\res\values\strings.out.xml:1: エラー: Error parsing XML: no element found [2011-05-11 16:09:27 - BMICalculator2] C:\workspace\BMICalculator2\res\layout\main.out.xml:1: エラー: Error parsing XML: no element found [2011-05-11 16:09:27 - BMICalculator2] C:\workspace\BMICalculator2\res\layout\main.xml:38: エラー: エラー: No resource found that matches the given name (at 'id' with value '@id+/button_calculate'). [2011-05-11 16:09:28 - BMICalculator2] res\layout\main.xml:0: エラー: Resource entry main is already defined. [2011-05-11 16:09:28 - BMICalculator2] res\layout\main.out.xml:0: Originally defined here. [2011-05-11 16:09:28 - BMICalculator2] C:\workspace\BMICalculator2\res\values\strings.out.xml:1: エラー: Error parsing XML: no element found [2011-05-11 16:09:28 - BMICalculator2] C:\workspace\BMICalculator2\res\layout\main.out.xml:1: エラー: Error parsing XML: no element found [2011-05-11 16:09:28 - BMICalculator2] C:\workspace\BMICalculator2\res\layout\main.xml:38: エラー: エラー: No resource found that matches the given name (at 'id' with value '@id+/button_calculate'). ソース package com.mamezou.android.bmi.alc; import android.app.Activity; import android.os.Bundle; public class BMICalculatorActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } string.XML <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello.Wopld.BMICalculatorActivity</string> <string name="app_name">BMI Calculator</string> <string name="label_description">BMIを計算します</string> <string name="label_height">身長(cm)</string> <string name="label_weight">体重(kg)</string> <string name="button_calculate">計算</string> </resources> main.XML <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/label_description" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/label_height" /> <EditText android:id="@+id/text_height" android:layout_width="fill_parent" android:layout_height="wrap_content" android:numeric="integer" android:maxLength="3" android:text="160" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/label_weight" /> <EditText android:id="@+id/text_weight" android:layout_width="fill_parent" android:layout_height="wrap_content" android:numeric="integer" android:maxLength="3" android:text="50" /> <Button android:id="@+id/button_calculate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_calculate" /> </LinearLayout>

  • Androidアプリの開発について

    アンドロイドアプリ開発の勉強をしておりますが 全くの素人のためご教授願います。 以下で、氏名1を選択すると、勤務表が表示されるのですが スクロールされずに悩んでおります。 自分なりに調べてみると XMLでScrollViewの中にTextViewを入れれば スクロールされるようなのですが、うまくスクロールされません。 どのように記述すれば、スクロールされるのでしょうか? 以上、宜しくお願いいたします。 package test.kintai; /**import java.nio.charset.Charset; */ import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.widget.TextView; public class kintai extends Activity implements DialogInterface.OnClickListener{ /** Called when the activity is first created. */ public AlertDialog _alertDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } public void onResume(){ super.onResume(); CharSequence[] _char = {"氏名1","氏名2","氏名3","氏名4","氏名5","氏名6","氏名7"}; _alertDialog = new AlertDialog.Builder(this) .setTitle("勤務表") .setCancelable(false) .setItems(_char, this).show(); } @Override public void onClick(DialogInterface dialog, int which) { setContentView(R.layout.main); if(_alertDialog == dialog){ TextView display = new TextView(this); switch(which){ case 0: display.setText("氏名1\n" + "\n" + "2011年4月\n" + "\n" + " 1日(日) 休\n" + " 2日(月) 夜勤\n" + " 3日(火) 休\n" + " 4日(水) 休\n" + " 5日(木) 休\n" + " 6日(金) 夜勤\n" + " 7日(土) 休\n" + " 8日(日) 休\n" + " 9日(月) 日勤\n" + "10日(火) 日勤\n" + "11日(水) 日勤\n" + "12日(木) 日勤\n" + "13日(金) 夜勤\n" + "14日(土) 休\n" + "15日(日) 休\n" + "16日(月) 日勤\n" + "17日(火) 日勤\n" + "18日(水) 日勤\n" + "19日(木) 日勤\n" + "20日(金) 夜勤\n" + "21日(土) 休\n" + "22日(日) 休\n" + "23日(月) 日勤\n" + "24日(火) 日勤\n" + "25日(水) 日勤\n" + "26日(木) 日勤\n" + "27日(金) 夜勤\n" + "28日(土) 休\n" + "29日(日) 休\n" + "30日(月) 日勤\n" + "31日(火) 日勤\n"); break; case 1: display.setText("氏名2"); break; case 2: display.setText("氏名3"); break; case 3: display.setText("氏名4"); break; case 4: display.setText("氏名5"); break; case 5: display.setText("氏名6"); break; case 6: display.setText("氏名7"); break; } setContentView(display); } } } --------------- ■main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/display" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </ScrollView> </LinearLayout>

  • androidアプリ開発 -間違い探しアプリ-

    androidの間違い探しアプリを作ろうと思っています。 イメージ的には背景用のImageViewに画像を表示して、 間違っている箇所にカラのImageViewを載せ、 ImageViewがクリックされたら正解というような仕組みにしようと思っています。 そこで、下記コードを書いています。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical" > <ImageView android:id="@+id/mainImage" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/stage1" ></ImageView> <ImageView android:id="@+id/onImage" android:layout_width="40dip" android:layout_height="40dip" android:layout_marginLeft="240dp" android:layout_marginTop="180dp" android:onClick="seikai" /> </RelativeLayout> が、解像度や画面サイズによってカラのImageViewの場所が変わってしまい、うまくいきません。 resフォルダ内に 「layout-land-hdpi」 「layout-land-ldpi」 「layout-land-mdpi」 「layout-land-xhdpi」 フォルダを作り、解像度ごとに位置の微調整は行なっていますが、 画面サイズが異なるとやはりずれてしまいます。 解像度、画面サイズにかかわらず位置を固定する方法はないのでしょうか。 ない場合はやはり画面サイズと解像度すべての条件のxmlを作成する必要がありますか。 また、そもそも 「イメージ的には背景用のImageViewに画像を表示して、間違っている箇所にカラのImageViewを載せる」やり方が間違っているのでしょうか。