تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ امیرحسین شجاعی نسب
Close program
جامعه جاوا (اندروید) ایجاد شده در ۱۶ اردیبهشت ۱۴۰۰

با سلام من کد‌های بخش اول رو به درستی و کامل وارد کردم ولی وقتی که روی دکه ادیت پروفایل کلیک میکنم برنامه کلوز پروگرم میده مشکل چیه؟

سلام و احترام

 

ارور مربوطه و همینطور کد‌های مربوطه رو ارسال بفرمایید راهنماییتون کنم

پوریا شفیعی ۱۶ اردیبهشت ۱۴۰۰، ۱۴:۰۶

دکمه ادیت پروفایل:
Button editProfileBtn = findViewById(R.id.button_main_editProfile);
editProfileBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
   Intent intent = new Intent(MainActivity.this,EditProfilesActivity.class);
     startActivityForResult(intent,1001);
    }
});

XML :

<Button
    android:id="@+id/button_main_editProfile"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    android:layout_marginEnd="8dp"
    android:background="@drawable/buttons_background_main"
    android:paddingStart="16dp"
    android:paddingEnd="16dp"
    android:text="@string/editProfile"
    android:textColor="@color/white"
    app:layout_constraintEnd_toStartOf="@+id/button_main_viewWebSite"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintHorizontal_chainStyle="packed"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/tv_main_fullName" />

 

صفحه ادیت پروفایل:

package com.example.myfirstapp;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class EditProfilesActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        EditText editText = findViewById(R.id.tv_editProfile_getName);
        String fullName= editText.getText().toString();
        Button btnEditProfile =findViewById(R.id.btn_editProfile_editName);
        btnEditProfile.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.putExtra(MainActivity.EXTRA_KEY_FULLNAME,fullName);
                setResult(Activity.RESULT_OK,intent);
            }
        });
    }
}

 

 Xml : 

<?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"
    tools:context=".EditProfilesActivity"
    android:orientation="vertical"
    android:padding="12dp">
    <EditText
        android:id="@+id/tv_editProfile_getName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/hintEnterName"
        />
    <Button
        android:id="@+id/btn_editProfile_editName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/editProfile"/>
</LinearLayout>

 

 

زمانی که روی دکمه ادیت پروفایل کلیک میکنم اپلیکیشن بسته میشه فقط زمانی که بجای startActivityForResult ، startActivity رو میزارم اپ بسته نمیشه و یک اکتیویتی خالی رو برام باز میکنه یعنی ویو‌های کهقرار دادم نیستن 

 

 

امیرحسین شجاعی نسب ۱۸ اردیبهشت ۱۴۰۰، ۱۰:۳۷

کد‌های درست و صحیح:

 

package com.example.myfirstapp;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
    public static final String EXTRA_KEY_FULLNAME = "fullname";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button saveInformationBtn = findViewById(R.id.btn_main_saveInformation);
        saveInformationBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast toast = Toast.makeText(MainActivity.this, "User clicked on save information button", Toast.LENGTH_SHORT);
                toast.show();
            }
        });
        CheckBox androidSkillCheckbox = findViewById(R.id.checkBox_main_android);
        androidSkillCheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {
                    Toast.makeText(MainActivity.this, "Android Skill is checked", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this, "Android skill is not checked", Toast.LENGTH_SHORT).show();
                }
            }
        });
        RadioGroup radioGroup = findViewById(R.id.radioGroup_main);
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId) {
                    case R.id.radioButton_main_alborz:
                        Toast.makeText(MainActivity.this, "Alborz RadioButton is Checked", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.radioButton_main_tehran:
                        Toast.makeText(MainActivity.this, "Tehran RadioButton is Checked", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.radioButton_main_gilan:
                        Toast.makeText(MainActivity.this, "Gilan RadioButton is Checked", Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        });
        Button editProfileBtn = findViewById(R.id.btn_main_editProfile);
        editProfileBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, EditProfileActivity.class);
                TextView fullnameTv = findViewById(R.id.tv_main_fullname);
                intent.putExtra(EXTRA_KEY_FULLNAME, fullnameTv.getText());
                startActivityForResult(intent, 1001);
            }
        });
        Button viewWebsiteBtn = findViewById(R.id.btn_main_viewWebsite);
        viewWebsiteBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://7learn.ac"));
                startActivity(intent);
            }
        });
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        if (requestCode == 1001 && resultCode == Activity.RESULT_OK && data != null) {
            String fullname = data.getStringExtra(EXTRA_KEY_FULLNAME);
            TextView textView = findViewById(R.id.tv_main_fullname);
            textView.setText(fullname);
        }
    }
}

 EditProfileActivity

package com.example.myfirstapp;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class EditProfileActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_edit_profile);
        String fullname = getIntent().getStringExtra(MainActivity.EXTRA_KEY_FULLNAME);
        final EditText editText = findViewById(R.id.et_editProfile);
        editText.setText(fullname);
        Button doneButton = findViewById(R.id.btn_editProfile_done);
        doneButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String fullname = editText.getText().toString();
                Intent intent = new Intent();
                intent.putExtra(MainActivity.EXTRA_KEY_FULLNAME, fullname);
                setResult(Activity.RESULT_OK, intent);
                finish();
            }
        });
    }
} 
پوریا شفیعی ۱۸ اردیبهشت ۱۴۰۰، ۱۵:۵۷

دکمه ادیت پروفایل:

Button editProfileBtn = findViewById(R.id.button_main_editProfile);
editProfileBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
   Intent intent = new Intent(MainActivity.this,EditProfilesActivity.class);
     startActivityForResult(intent,۱۰۰۱);
    }

XML:

<Button
    android:id="@+id/button_main_editProfile"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="۱۶dp"
    android:layout_marginEnd="۸dp"
    android:background="@drawable/buttons_background_main"
    android:paddingStart="۱۶dp"
    android:paddingEnd="۱۶dp"
    android:text="@string/editProfile"
    android:textColor="@color/white"
    app:layout_constraintEnd_toStartOf="@+id/button_main_viewWebSite"
    app:layout_constraintHorizontal_bias="۰.۵"
    app:layout_constraintHorizontal_chainStyle="packed"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/tv_main_fullName" />
 

Edit Profile Activity:

package com.example.myfirstapp;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class EditProfilesActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EditText editText = findViewById(R.id.tv_editProfile_getName);
        String fullName= editText.getText().toString();
        Button btnEditProfile =findViewById(R.id.btn_editProfile_editName);
        btnEditProfile.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.putExtra(MainActivity.EXTRA_KEY_FULLNAME,fullName);
                setResult(Activity.RESULT_OK,intent);
            }
        });
    }
}
 

XML:

<?xml version="۱.۰" encoding="utf-۸"?>
<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"
    tools:context=".EditProfilesActivity"
    android:orientation="vertical"
    android:padding="۱۲dp">
    <EditText
        android:id="@+id/tv_editProfile_getName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/hintEnterName"
        />
    <Button
        android:id="@+id/btn_editProfile_editName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/editProfile"/>
</LinearLayout>
 
امیرحسین شجاعی نسب ۱۹ اردیبهشت ۱۴۰۰، ۱۰:۳۸