با سلام من کدهای بخش اول رو به درستی و کامل وارد کردم ولی وقتی که روی دکه ادیت پروفایل کلیک میکنم برنامه کلوز پروگرم میده مشکل چیه؟
با سلام من کدهای بخش اول رو به درستی و کامل وارد کردم ولی وقتی که روی دکه ادیت پروفایل کلیک میکنم برنامه کلوز پروگرم میده مشکل چیه؟
سلام و احترام
ارور مربوطه و همینطور کدهای مربوطه رو ارسال بفرمایید راهنماییتون کنم
دکمه ادیت پروفایل:
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>