```java(activity_main) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end" android:layout_marginTop="8dp" android:layout_marginEnd="8dp" android:text="時間割選択" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" android:onClick="btn2_onClick"/> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:text="写真選択" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="vertical"> </LinearLayout> <TableLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:shrinkColumns="0,1,2,3,4,5,6"> <TableRow android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="月"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="火"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="水"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="木"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="金"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="土"/> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1" /> <Button android:id="@+id/btn46" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="btn46_onClick /> <Button android:id="@+id/btn47" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="btn47_onClick" /> <Button android:id="@+id/btn48" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="btn48_onClick" /> <Button android:id="@+id/btn49" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="btn49_onClick" /> <Button android:id="@+id/btn50" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="btn50_onClick" /> <Button android:id="@+id/btn51" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="btn51_onClick" /> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="2"/>.....android:text1と同様に6まで続きます。
java(activity_sub2)
1<?xml version="1.0" encoding="utf-8"?> 2<LinearLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical"> 7 8 <EditText 9 android:id="@+id/txtName" 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:inputType="text" 13 android:hint="講義名を入力してください。"> 14 </EditText> 15 <EditText 16 android:id="@+id/txtName2" 17 android:layout_width="match_parent" 18 android:layout_height="wrap_content" 19 android:inputType="text" 20 android:hint="教室を入力してください。"> 21 </EditText> 22 23 24 <TextView 25 android:id="@+id/text_view" 26 android:layout_width="wrap_content" 27 android:layout_height="wrap_content" 28 android:layout_gravity="center" 29 android:layout_margin="30dp" 30 android:textStyle="bold" 31 android:text="@string/時間割" 32 android:textColor="#00f" 33 android:textSize="40sp"/> 34 <LinearLayout 35 android:layout_width="match_parent" 36 android:layout_height="wrap_content" 37 android:gravity="center" 38 android:layout_margin="10dp" 39 android:orientation="horizontal"> 40 <NumberPicker 41 android:id="@+id/numPicker0" 42 android:layout_width="wrap_content" 43 android:layout_height="wrap_content" 44 android:background="#aaf"/>/> 45 </LinearLayout> 46 47 <Button 48 android:id="@+id/button88" 49 android:layout_width="match_parent" 50 android:layout_height="wrap_content" 51 android:layout_margin="40dp" 52 android:text="@string/ok" 53 android:onClick="btn88_onClick"/> 54 55 56 57</LinearLayout>
コードには専用の枠が作れます.
入力枠の上辺にある "<code>" を押すと出てくる, ``` で囲まれた "コード" という文字列を置き換える形で入力(コピペ)してください. (マークダウン)
ご質問は編集できます. また, 入力枠の下にプレビューがあり, 成功していればコードが枠に囲まれるのも確認できますので, ご活用ください.
両アクティビティのレイアウトもご提示願えますか.
回答ありがとうございます!!
了解です! 送らさせてもらいます!
すみません。10000文字が超過したのでここにactivityをのせさせていただきます。
----MainActivity------
package to.msn.wings.ourapp;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.accessibility.AccessibilityViewCommand;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.view.View.OnClickListener;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void btn2_onClick(View view){
Intent intent=new Intent(this,to.msn.wings.ourapp.SubActivity2.class);
//アクティビティを起動(サブ画面起動)
startActivityForResult(intent,0);
}
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode, resultCode, data);
//リクエストコードと結果コードをチェック
if(requestCode==0 && resultCode==RESULT_OK){
//結果のコードを取得&ボタンのテクストに記入
String txtName=data.getStringExtra("txtName");
String numPicker=data.getStringExtra("numPicker");
}
}
}
----SubActivity2-------
package to.msn.wings.ourapp;
import android.content.Intent;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.NumberPicker;
import android.widget.TextView;
public class SubActivity2 extends AppCompatActivity{
private NumberPicker numPicker0;
private TextView pickerTextView;
private String[] figures=new String[1];
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub2);
pickerTextView=findViewById(R.id.text_view);
Button pickerButton=findViewById(R.id.button88);
//ドラムロールに表示したい値を含んだ配列を作る
final String[] pref={"月1","月2","月3","月4","月5","月6","火1",
"火2","火3","火4","火5","火6","水1","水2","水3","水4",
"水5","水6","木1","木2","木3","木4","木5","木6","金1",
"金2","金3","金4","金5","金6","土1","土2","土3","土4","土5","土6"};
//numberPickerをインスタンス化する
final NumberPicker picker=findViewById(R.id.numPicker0);
//配列のインデックスの最小、最大を指定する
picker.setMinValue(0);
picker.setMaxValue(35);
//numberpickerに配列をセットする
picker.setDisplayedValues(pref);
pickerButton.setOnClickListener(new OnClickListener() {
public void onClick(View v){
figures[0]=String.valueOf(numPicker0.getValue());
String str=String.format("%s",
figures[0]);
Float fig=Float.parseFloat(str);
pickerTextView.setText(String.valueOf(fig));
}
});
}
//ボタンクリック時に呼び出されるメソッド
public void btn88_onClick(View v){
//インテントを生成&データをセット
//講義名のインテント
Intent i=new Intent(this,to.msn.wings.ourapp.MainActivity.class);
EditText txtName=findViewById(R.id.txtName);
i.putExtra("txtName",txtName.getText().toString());
//教室のインテント
EditText txtName2=findViewById(R.id.txtName2);
i.putExtra("txtName2",txtName.getText().toString());
//numberPickerのインテント
NumberPicker numPicker0=findViewById(R.id.numPicker0);
i.putExtra("numPicker",txtName.getText().toString());
//結果情報をセット
setResult(RESULT_OK,i);
//現在のアクティビティを終了
finish();
}
}
仕様の確認ですが, SubActivity2 の pickerButton を押した時の処理は, "時間割" のところに数値を出しているようですが, 何を意味するのでしょうか.
必要ですか?
やりたいこととしてはpickerButtonで押したときの処理を基に該当の時間割のButtonに名前付けすることです。(例えばNumberpickerで月1が選択され、講義名が「あ」の場合、時間割の月曜日1限のButtonにテキスト「あ」が反映させることができるようになりたいです!)
いえ, お聞きしているのは
pickerButton.setOnClickListener(new OnClickListener() {
public void onClick(View v){
figures[0]=String.valueOf(numPicker0.getValue());
String str=String.format("%s",
figures[0]);
Float fig=Float.parseFloat(str);
pickerTextView.setText(String.valueOf(fig));
}
});
の部分です. 私の回答のコードでは削除してしまいましたが, もしや必要だったのかと...
回答に付けたコメントに github へのリンクがありますので, 可能でしたらそちらからコードやレイアウトを取得して試してみてください.
一応回答のコードも修正していますが, レイアウトが面倒なことになっていますので...(_ _;
ありがとうございます!
試してみます!!