Requesting #151

Merged h-wada merged 7 commits into nitta-lab-2023:master from nitta-lab-2023:Requesting on 11 Jul 2023
Showing 6 changed files
View
5
.idea/misc.xml
<entry key="..\:/Users/Student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_gps.xml" value="0.13095238095238096" />
<entry key="..\:/Users/Student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_login.xml" value="0.13221884498480244" />
<entry key="..\:/Users/Student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_main.xml" value="0.25" />
<entry key="..\:/Users/Student/StudioProjects/NemophilaClient/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml" value="0.226" />
<entry key="..\:/Users/student/AndroidStudioProjects/NemophilaClient/app/src/main/res/layout/activity_friend.xml" value="0.36666666666666664" />
<entry key="..\:/Users/student/AndroidStudioProjects/NemophilaClient/app/src/main/res/layout/activity_shop.xml" value="0.36666666666666664" />
<entry key="..\:/Users/student/AndroidStudioProjects/NemophilaClient/app/src/main/res/layout/activity_shop_create.xml" value="0.36666666666666664" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/drawable/circle_button.xml" value="0.1545" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/drawable/ic_current_location.xml" value="0.1545" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/drawable/ic_mypage.xml" value="0.1545" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/drawable/ic_set.xml" value="0.1545" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_change_pw.xml" value="0.22" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_friend.xml" value="0.29891304347826086" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_login.xml" value="0.22314814814814815" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_main.xml" value="0.228125" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_maps.xml" value="0.17074275362318841" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_my_page_editor.xml" value="0.1625" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_mypage.xml" value="0.22135416666666666" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_post.xml" value="0.33" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_requesting.xml" value="0.33" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_shop.xml" value="0.3229166666666667" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_shop_create.xml" value="0.2966485507246377" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/activity_sign_up.xml" value="0.36614583333333334" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/layout_friends_activity.xml" value="0.29891304347826086" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/layout_my_page_activity_posts.xml" value="0.22509057971014493" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/layout_shop_activity_post.xml" value="0.35208333333333336" />
<entry key="..\:/Users/student/StudioProjects/NemophilaClient/app/src/main/res/layout/layout_shop_activity_posts.xml" value="0.35208333333333336" />
</map>
View
6
app/src/main/AndroidManifest.xml
<action android:name="android.intent.action.MAIN" />
 
 
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</intent-filter>
</activity>
<activity
android:name=".RequestedActivity"
android:exported="false" />
<activity
android:name=".RequestingActivity"
android:exported="true"
android:label="@string/title_activity_requesting">
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
</activity>
<activity
android:name=".MyPageActivity"
android:exported="true"
View
119
app/src/main/java/com/example/nemophila/RequestingActivity.java
package com.example.nemophila;
 
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
 
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
import java.util.ArrayList;
import java.util.List;
 
public class RequestingActivity extends AppCompatActivity {
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_requesting);
 
//左上のボタンでマイページへ遷移
Button returnButton = (Button)findViewById(R.id.requestingAcReturnButton);
returnButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent intent = new Intent(getApplication(), MyPageActivity.class);
startActivity(intent);
}
});
 
//フレンド検索ボタン
Button requestingButton = (Button)findViewById(R.id.requestingSearchButton);
requestingButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
//入力されたIDを取得
EditText editSearchId = (EditText) findViewById(R.id.inputRequestingId);
String searchingId = editSearchId.getText().toString();
//取得したIDのユーザー名を受け取る
String requestingName;
//申請を送るダイアログを表示
RequestingDialogFragment dialog = new RequestingDialogFragment();
dialog.show(getSupportFragmentManager(), "Requesting_dialog");
}
});
 
//RecyclerView(表示の設定、直接表示するところはLivedataを購読しているonChanged内にしたい)
List<RequestingActivity.RequestingDataModel> RequestingDataList = new ArrayList<>();
 
//xmlからrvにRecyclerViewを取得、アダプターを宣言
RecyclerView rv = (RecyclerView) findViewById(R.id.requestingList);
RequestingActivity.RequestingAdapter adapter = new RequestingActivity.RequestingAdapter(RequestingDataList);
 
//一行ずつを縦に(LinearLayout)表示するLayoutManagerを宣言
LinearLayoutManager llm = new LinearLayoutManager(this);
//
RecyclerView.ItemDecoration itemDecoration =
new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
rv.addItemDecoration(itemDecoration);
 
rv.setHasFixedSize(true);
rv.setLayoutManager(llm);
 
}
 
 
//RecyclerViewのための内部クラス
//とりあえずnameのみで仮作成
 
//Adapter
public class RequestingAdapter extends RecyclerView.Adapter<RequestingActivity.RequestingViewHolder> {
 
private List<RequestingActivity.RequestingDataModel> list;
 
public RequestingAdapter(List<RequestingActivity.RequestingDataModel> list) {
this.list =list;
}
 
public void setList(List<RequestingActivity.RequestingDataModel> list) {
this.list = list;
}
 
@NonNull
@Override
public RequestingActivity.RequestingViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
 
//ShopActivityのレイアウトのままなので、ここを作って反映させる
View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_shop_activity_posts, parent,false);
RequestingActivity.RequestingViewHolder vh = new RequestingActivity.RequestingViewHolder(inflate);
return vh;
}
 
@Override
public void onBindViewHolder(@NonNull RequestingActivity.RequestingViewHolder holder, int position) {
holder.nameView.setText(list.get(position).getName());
}
 
@Override
public int getItemCount() {
return list.size();
}
}
 
//ViewHolder
public class RequestingViewHolder extends RecyclerView.ViewHolder {
public TextView nameView;
 
public RequestingViewHolder(@NonNull View itemView) {
super(itemView);
nameView = (TextView) itemView.findViewById(R.id.userName);
}
}
 
//DataModel
public static class RequestingDataModel {
private String name;
 
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
 
}
 
}
View
30
app/src/main/java/com/example/nemophila/RequestingDialogFragment.java 0 → 100644
package com.example.nemophila;
 
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
 
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
 
public class RequestingDialogFragment extends DialogFragment {
 
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("フレンド申請")
.setMessage("IDにあったユーザー")
.setPositiveButton("申請を送る", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// ボタンを押した時の処理
}
})
.setNegativeButton("キャンセル", null);
return builder.create();
}
 
}
View
4
app/src/main/java/com/example/nemophila/ShopActivity.java
this.name = name;
}
 
public String getDate() {
return date;}
return date;
}
public void setDate(String date) {
this.date = date;
}
 
View
93
app/src/main/res/layout/activity_requesting.xml
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".RequestingActivity">
 
 
<Button
android:id="@+id/requestingAcReturnButton"
android:layout_width="50dp"
android:layout_height="55dp"
android:backgroundTint="#00BCD4"
android:text="←"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.07"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.025" />
 
<TextView
android:id="@+id/requestingAcTitle"
android:layout_width="250dp"
android:layout_height="40dp"
android:breakStrategy="high_quality"
android:gravity="center_horizontal"
android:text="フレンド申請"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.047" />
 
<TextView
android:id="@+id/titleSearchRequesting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="IDで検索してフレンド申請を送る"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.094"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.127" />
 
<TextView
android:id="@+id/titleRequestingList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="フレンド申請中のユーザー"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.079"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.25" />
 
<EditText
android:id="@+id/inputRequestingId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="IDを入力"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.233"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.17" />
 
<Button
android:id="@+id/requestingSearchButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="#00BCD4"
android:text="検索"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/inputRequestingId"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.171" />
 
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/requestingList"
android:layout_width="400dp"
android:layout_height="400dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.454"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.67" />
 
 
</androidx.constraintlayout.widget.ConstraintLayout>