java - 如何在我的 Android 应用程序中集成反馈表单,当我单击注销按钮时应打开该反馈表单?

标签 java android android-studio

XML 代码:

以下是反馈表单的 XML 文件的代码。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:scrollbars="none"
android:paddingBottom="10dp"
tools:context="com.example.administrator.feedbackform.MainActivity">

    <LinearLayout
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:orientation="vertical">

        <include
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            layout="@layout/toolbar_layout">

        </include>

        <TextView
            android:id="@+id/TextView_Name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Your Feedback Is Important For Us!"
            android:layout_marginTop="20dp"
            android:gravity="center"
            android:layout_gravity="center"
            android:textSize="10pt">
        </TextView>

        <EditText
            android:id="@+id/EditText_Enter_your_name"
            android:layout_height="wrap_content"
            android:hint="Enter your name here"
            android:inputType="textPersonName"
            android:textColorHint="#00E676"
            android:layout_marginTop="25dp"
            android:layout_width="fill_parent"
            android:gravity="center"
            android:layout_gravity="center">
        </EditText>

        <EditText
            android:id="@+id/EditText_Enter_your_Email"
            android:layout_height="wrap_content"
            android:hint="Please enter your email here"
            android:textColorHint="#00E676"
            android:inputType="textEmailAddress"
            android:layout_marginTop="8dp"
            android:layout_width="fill_parent"
            android:gravity="center"
            android:layout_gravity="center"
            >
        </EditText>

        <EditText
            android:id="@+id/EditText_FeedbackBody"
            android:layout_height="wrap_content"
            android:hint="@string/hint1"
            android:inputType="textMultiLine"
            android:layout_width="fill_parent"
            android:gravity="top|left"
            android:layout_marginTop="15dp"
            android:layout_gravity="center"
            android:textColorHint="#00E676"
            android:scrollbars="vertical"
            android:background="#FFFDE7"
            >
        </EditText>

        <CheckBox
            android:id="@+id/CheckBoxResponse"
            android:layout_height="wrap_content"
            android:text="Are you sure you want to submit? Check the box then!"
            android:layout_width="fill_parent"
            android:layout_marginTop="10dp"
            >
        </CheckBox>

        <Button
            android:id="@+id/ButtonSendFeedback"
            android:layout_height="40dp"
            android:text="Submit"
            android:layout_marginTop="25dp"
            android:layout_gravity="center"
            android:onClick="sendFeedback"
            android:layout_width="100dp"
            android:background="@color/colorPrimaryDark">
        </Button> 
    </LinearLayout>
</ScrollView>

Java 代码:

以下是反馈表的java文件代码。

package com.example.administrator.feedbackform;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    Toolbar toolbar;
    Button Submit;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toolbar=(Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        final EditText nameField = (EditText) findViewById(R.id.EditText_Enter_your_name);
        String name = nameField.getText().toString();

        final EditText emailField = (EditText) findViewById(R.id.EditText_Enter_your_Email);
        String email = emailField.getText().toString();

        final EditText feedbackField = (EditText) findViewById(R.id.EditText_FeedbackBody);
        String feedback = feedbackField.getText().toString();

        final CheckBox responseCheckbox = (CheckBox) findViewById(R.id.CheckBoxResponse);
        boolean bRequiresResponse = responseCheckbox.isChecked();

        Submit=(Button)findViewById(R.id.ButtonSendFeedback);
        Submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this,"Thanks! Your Feedback is submitted.",Toast.LENGTH_LONG).show();
            }
        });

    }
}

假设有一个注销按钮,因此,请建议我如何在用户退出应用程序之前显示反馈表单。如果您能回答确切的代码,我将不胜感激!

最佳答案

@GuneetKaur,

1)您可以做的是,当您按下注销按钮时,您可以调用另一个包含反馈屏幕的 Activity 。

2) 单击注销按钮时可以显示警报对话框。

3) 如果您希望在用户单击后退按钮退出应用程序时执行相同的操作,那么您可以重写 onBackPress() 方法并从中删除 super.onBackPress() ,然后您可以维护以下标志:用户点击后退然后您可以检查是否给出反馈然后您可以将标志更改为 true 然后调用 finish() 方法或 super.onBackPress()

4) 警报对话框的情况相同。

请告诉我您需要什么代码,我将提供相同的代码。

添加一些代码供引用

logout_button.setOnClickListener(
 new OnClickListener(View view){
  // Call your Dialog for feedback
          OR
  // Call your Feedback Activity 
 }
);

//Generally this below method is called in Activity from where the Application gets closed



 @Override
    public void onBackPressed() {
      //Remove this super.onBackPressed();

      // Call your Dialog for feedback
          OR
      // Call your Feedback Activity 
   }

关于java - 如何在我的 Android 应用程序中集成反馈表单,当我单击注销按钮时应打开该反馈表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41941256/

相关文章:

java - 如何将 JDialog 框中的值返回到父 JFrame?

java - 为什么我只有 Google Maps Android API V2 的空白 map ?

java - findViewById() 可能会为 HomeFragment.java 中的 getView() 产生 NullPointerException

java - 连接到 Amazon RDS Oracle 实例时如何处理 "Got minus one from a read call"错误

android - 我怎样才能在android中接受多种语言的输入

java - 文本外观,TextView 和 CardView 内部

android - 如何从耳机插孔获取电力?

android - Android Studio : "process ... command finished with non-zero exit value 2" 上的 NDK 问题

android - 布局检查器 - 如何查找文本元素的当前字体

java - Eclipse 导入 Maven 项目失败