有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我如何在我的安卓应用程序中集成一个当我点击注销按钮时应该打开的反馈表单?

XML代码:

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

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

    <LinearLayout
        安卓:layout_height="match_parent"
        安卓:layout_width="match_parent"
        安卓:orientation="vertical">

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

        </include>

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

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

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

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

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

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

Java代码:

下面是反馈表单的java文件的代码

package com.example.administrator.feedbackform;

import 安卓.support.v7.app.AppCompatActivity;
import 安卓.os.Bundle;
import 安卓.support.v7.widget.Toolbar;
import 安卓.view.View;
import 安卓.widget.Button;
import 安卓.widget.CheckBox;
import 安卓.widget.EditText;
import 安卓.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();
            }
        });

    }
}

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


共 (4) 个答案

  1. # 1 楼答案

    为了具体完成您的要求,您应该在代码中以编程方式设置onClickListener。在该代码中(我假设您将其放在原始活动中),您将创建一个启动反馈表单的意图,然后调用下面一行中的finish方法。调用finish将从后堆栈中删除原始活动,因此当他们按back或finish反馈表单时,应用程序应关闭

    button.setOnClickListener(new OnClickListener() {
    
            @Override
            public void onClick(View v) {
                    Intent intent = new Intent(this, MainActivity.class);
                    startActivity(intent);
                    finish();
            }
    });
    
  2. # 2 楼答案

    @GuneetKaur

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

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

    3)如果用户单击“上一步”按钮退出应用程序时需要相同的操作,则可以覆盖onBackPress()方法并删除超级按钮。onBackPress(),则您可以维护该标志,如果用户单击back,则可以检查是否给出了反馈,然后可以将该标志更改为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 
       }
    
  3. # 3 楼答案

    您可以做的是显示一个对话框。定义一个新的警报对话框。使用反馈表单的布局设置其视图

    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
    LayoutInflater inflater = this.getLayoutInflater();
    View dialogView = inflater.inflate(R.layout.your_custom_layout, null,false);
    dialogBuilder.setView(dialogView);
    
    EditText editText =(EditText)dialogView.findViewById(R.id.label_field);
    

    这样,您就可以实例化所有布局项(比如用户在填写所有帖子后点击的提交按钮)。 然后单击注销按钮,您可以显示带有以下代码的警告对话框

    AlertDialog AlertDialog=dialogBuilder。创建()

    警报对话框。show()

  4. # 4 楼答案

    单击注销时使用警报对话框

                     ViewDialog alert = new ViewDialog();
                     public class ViewDialog {
                        alert.showDialog(MainActivity.this, "GIVE FEADBACK");
    
           public void showDialog(Activity activity, String msg){
            final Dialog dialog = new Dialog(activity);
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog.setCancelable(true);
            dialog.setContentView(R.layout.updatedialog);
    
            TextView text = (TextView) dialog.findViewById(R.id.text_dialog);
            text.setText(msg);
    
            Button dialogUpdate = (Button) dialog.findViewById(R.id.update);
            Button dialogcancel = (Button) dialog.findViewById(R.id.cancel);
            Button dialogremindme = (Button)     dialog.findViewById(R.id.remindeme);
            TextView textView= (TextView) dialog.findViewById(R.id.machhint1);
            TextView textView2= (TextView) dialog.findViewById(R.id.machhint2);
    
    
    
    
            dialogcancel.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    dialog.dismiss();
                }
            });
            dialogUpdate.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                //do code for for update fedabck
                    }
                    dialog.dismiss();
                }
            });
            dialogremindme.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
            //if you dont want to send feadback
                    dialog.dismiss();
                }
            });
    
            dialog.show();
    
        }
    }
    PLEASE  MAKE XML YOURSELF