原创

Javaモバイルアプリのアクティビティにリターン矢印を追加する

温馨提示:
本文最后更新于 2024年04月12日,已超过 37 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

アクティビティに戻る矢印を追加しましたが、ツールバーは表示されていますが、矢印自体は存在しません。

コードに次を追加しました。

  1. マニベストファイルには次のものを含めました:

    <activity
        android:name=".EnterGradesActivity"
        android:exported="false"
        android:parentActivityName=".MainActivity" />
    
  2. アクティビティクラスで次のように追加しましたアクションバー戻る矢印を有効にし、またonOptionsItemSelected

    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_enter_grades);
    
            ActionBar actionBar = getSupportActionBar();
            if (actionBar != null) {
                actionBar.setDisplayHomeAsUpEnabled(true); // Enable back arrow
            }
    
            // Retrieve number of grades and subject names from Intent extras
            int numGrades = getIntent().getIntExtra("numGrades", 0);
            String[] subjectNames = getResources().getStringArray(R.array.nazwy_przedmiotow);
    
            // Initialize RecyclerView
            recyclerView = findViewById(R.id.recyclerView);
            recyclerView.setLayoutManager(new LinearLayoutManager(this));
    
            // Restore grades array if savedInstanceState is not null
            if (savedInstanceState != null) {
                grades = savedInstanceState.getStringArray(STATE_GRADES);
            } else {
                grades = new String[numGrades];
            }
    
            // Initialize adapter with grades
            adapter = new GradesAdapter(this, subjectNames, numGrades, grades);
            recyclerView.setAdapter(adapter);
    
            // Button click listener
            Button buttonCalculateAverage = findViewById(R.id.buttonCalculateAverage);
            buttonCalculateAverage.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (validateGrades()) {
                        calculateAverage();
                    } else {
                        Toast.makeText(EnterGradesActivity.this, "Please enter valid grades.", Toast.LENGTH_SHORT).show();
                    }
                }
            });
        }
    
        @Override
        public boolean onOptionsItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()) {
                case android.R.id.home:
                    finish(); // Navigate back to parent activity
                    return true;
                default:
                    return super.onOptionsItemSelected(item);
            }
        }
    

3. XML ファイルにツールバーを追加しました。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <!-- RecyclerView -->

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:elevation="4dp" />

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/toolbar" />

    <Button
        android:id="@+id/buttonCalculateAverage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="114dp"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="114dp"
        android:layout_marginBottom="10dp"
        android:text="Calculate Average" />

</RelativeLayout>

メインアクティビティへの戻る矢印は表示されません

正文到此结束
热门推荐
本文目录