こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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>

投稿日時 - 2011-05-09 17:32:46

QNo.6725603

すぐに回答ほしいです

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

onClickメソッドの最後で
setContentView(display);
とやっているので、XMLの設定を TextViewで置き換えてしまっています。

以下のようにすればうまくいきますよ。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

@Override
public void onClick(DialogInterface dialog, int which) {
if(_alertDialog == dialog){
TextView display = (TextView)findViewById(R.id.display);
switch(which){
~省略~
}
}
}

投稿日時 - 2011-05-10 14:38:22

お礼

ありがとうございます。

イメージ通りにスクロールされました。

もう少し、カスタマイズしていくつもりですので、
また何かありましたら、宜しくお願いいたします。


本当に助かりました(^^)

投稿日時 - 2011-05-10 15:14:04

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ListViewをつかったらどうですか?

プログラムで特に制御しなくても、勝手にページに収まらない場合はスクロールしてくれます。

参考URL:http://www.adakoda.com/android/000077.html

投稿日時 - 2011-05-09 17:51:59

お礼

ありがとうございます。
ListViewについて調べてみたいと思います。

他にも、方法があれば
宜しくお願いいたします。

投稿日時 - 2011-05-10 09:35:02

あなたにオススメの質問