2024.5.2

一点都不难發表於2024-06-28

今天完成了“我的”介面的設計與功能實現,主要可以修改個人資訊、檢視系統功能等
WodeFragment.java
package com.example.share;

import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;

public class WodeFragment extends Fragment {

private TextView textUsername;
private Button btnEditProfile, btnChangePassword, btnSettings, btnAboutUs;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_wode, container, false);

    // 初始化控制元件
    textUsername = view.findViewById(R.id.text_username);
    btnEditProfile = view.findViewById(R.id.btn_edit_profile);
    btnChangePassword = view.findViewById(R.id.btn_change_password);
    btnSettings = view.findViewById(R.id.btn_settings);
    btnAboutUs = view.findViewById(R.id.btn_about_us);

    // 設定按鈕點選事件
    btnEditProfile.setOnClickListener(buttonClickListener);
    btnChangePassword.setOnClickListener(buttonClickListener);
    btnSettings.setOnClickListener(buttonClickListener);
    btnAboutUs.setOnClickListener(buttonClickListener);

    // 假設使用者登入後從本地獲取使用者名稱並顯示
    String username = getUsernameFromLocal();
    textUsername.setText(username);

    return view;
}

private View.OnClickListener buttonClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // 根據點選的按鈕執行相應操作
        int id = v.getId();
        if (id == R.id.btn_edit_profile) {
            // 編輯資料操作
        } else if (id == R.id.btn_change_password) {
            // 修改密碼操作
        } else if (id == R.id.btn_settings) {
            // 設定操作
        } else if (id == R.id.btn_about_us) {
            // 關於我們操作
        }
    }
};

// 從本地獲取使用者名稱,這裡只是示例,實際應用中需要替換為真正的邏輯
private String getUsernameFromLocal() {
    // 假設從SharedPreferences中獲取使用者名稱
    SharedPreferences sharedPref = getActivity().getSharedPreferences("app_prefs", Context.MODE_PRIVATE);
    String username = "歡迎您,"+sharedPref.getString("username", "")+"!"; // 獲取儲存的使用者名稱,如果沒有則預設為空字串
    // 你需要根據實際情況實現這個方法
    return username;
}

}
fragment_wode.xml

<!-- 使用者名稱 -->
<TextView
    android:id="@+id/text_username"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="使用者名稱"
    android:textSize="20sp"
    android:layout_marginTop="20dp"
    android:layout_centerHorizontal="true"/>

<!-- 編輯資料按鈕 -->
<androidx.appcompat.widget.AppCompatButton
    android:id="@+id/btn_edit_profile"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="編輯資料"
    android:layout_below="@id/text_username"
    android:layout_marginTop="20dp"/>

<!-- 修改密碼按鈕 -->
<androidx.appcompat.widget.AppCompatButton
    android:id="@+id/btn_change_password"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="修改密碼"
    android:layout_below="@id/btn_edit_profile"
    android:layout_marginTop="10dp"/>

<!-- 設定按鈕 -->
<androidx.appcompat.widget.AppCompatButton
    android:id="@+id/btn_settings"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="設定"
    android:layout_below="@id/btn_change_password"
    android:layout_marginTop="10dp"/>

<!-- 關於我們按鈕 -->
<androidx.appcompat.widget.AppCompatButton
    android:id="@+id/btn_about_us"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="關於我們"
    android:layout_below="@id/btn_settings"
    android:layout_marginTop="10dp"/>