繁体   English   中英

我想在对话框或使用android的弹出框中显示我的登录表单

I want to show my login form in dialog box or in pop up box using android

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我在一个xml中有两个textViews即。 客户登录和供应商登录...当我点击cuztomer登录或供应商登录弹出时应该打开我想要显示我的登录表单。 请帮帮我。

这是我的登录表单:login_layout.xml

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background"
    android:orientation="vertical" >

    <include layout="@layout/header_layout" />
        <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_margin="10dip"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/lbl_username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dip"
            android:gravity="center"
            android:textColor="#000000"
            android:text="@string/username"
            />

        <EditText
            android:id="@+id/et_username"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dip"
            android:hint="@string/enter_username"
            android:inputType="textEmailAddress" />

        <TextView
            android:id="@+id/lbl_password"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dip"
            android:gravity="center"
             android:textColor="#000000"
            android:text="@string/password"
            />

        <EditText
            android:id="@+id/et_password"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dip"
            android:hint="@string/enter_password"
            android:inputType="textPassword"
            android:singleLine="true" />
         <TextView
            android:id="@+id/lbl_forgot"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="25dip"
            android:gravity="center"
            android:textColor="#000000"
            android:text="@string/forgot_password"
            android:textSize="18dp"
            />

        <Button
            android:id="@+id/loginButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="15dip"
            android:text="@string/login"
             />
    </LinearLayout>

</LinearLayout>

这是LoginActivity.java:

package com.Login;

import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;


import org.json.JSONException;
import org.json.JSONObject;


public class LoginActivity extends Activity {

    private EditText etUsername, etPassword;
    private Button loginButton;
    private JSONParser jsonParser;
    private static String loginURL = "http://www.xyz.com?login.php";

    private Bundle bundle;
    private String success;
    /** The dialog. */
    private ProgressDialog dialog;



    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login_layout);

        TextView textv = (TextView) findViewById(R.id.lbl_forgot);
        textv.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent intent = new Intent();
                intent.setClass(v.getContext(), ForgotPassActivity.class);
                startActivity(intent);

            }
        });
        intitDisplay();
        addListeners();

    }

    private void addListeners() {
        loginButton.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                if (etUsername.getText().length() == 0)
                    etUsername.setError("please enter username");

                if (etPassword.getText().length() == 0)
                    etPassword.setError("please enter password");

                if ((etUsername.getText().length() > 0)
                        && (etPassword.getText().length() > 0)) {
                    jsonParser = new JSONParser();

                    if (jsonParser.isNetworkAvailable(LoginActivity.this)) {
                        new BackgroundTask().execute();
                    } else {
                        Toast.makeText(LoginActivity.this,
                                "Network not available", Toast.LENGTH_LONG)
                                .show();
                    }
                }

            }
        });

    }

    private void intitDisplay() {
        etUsername = (EditText) findViewById(R.id.et_username);
        etPassword = (EditText) findViewById(R.id.et_password);
        loginButton = (Button) findViewById(R.id.loginButton);
        bundle = new Bundle();
        dialog = new ProgressDialog(LoginActivity.this);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.login_layout, menu);
        return true;
    }

    /** calling web service to get creditors list */
    /**
     * The Class BackgroundTask.
     */
    private class BackgroundTask extends AsyncTask<String, Void, String> {

        /** The resp. */
        String resp;

        /*
         * (non-Javadoc)
         * 
         * @see android.os.AsyncTask#onPreExecute()
         */
        protected void onPreExecute() {

            dialog.setMessage("Loading...");
            dialog.setCancelable(false);
            dialog.show();

        }

        /*
         * (non-Javadoc)
         * 
         * @see android.os.AsyncTask#doInBackground(Params[])
         */
        protected String doInBackground(final String... args) {

            Log.v("ENTERED USERNAME::", "" + etUsername.getText().toString());
            String newUrl = loginURL + "username="
                    + etUsername.getText().toString() + "&password="
                    + etPassword.getText().toString();
            JSONObject json = jsonParser.getJSONFromUrl(newUrl);

            try {
                success = json.getString("msg");
                Log.v("SUCCESS:: ", success);
                if (success.trim().toString().equalsIgnoreCase("SUCCESS")) {
                    String loggedUsername = json.getString("USER_NAME");
                    bundle.putString("loggedUser", loggedUsername);
                    Log.v("Logged User::", loggedUsername);

                }
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            return null;

        }

        /*
         * (non-Javadoc)
         * 
         * @see android.os.AsyncTask#onPostExecute(java.lang.Object)
         */
        protected void onPostExecute(String list) {
            dialog.dismiss();
            if (success.trim().toString().equalsIgnoreCase("SUCCESS")) {
                Toast.makeText(LoginActivity.this, "Login Succesfull..",
                        Toast.LENGTH_LONG).show();
                Intent intent = new Intent(LoginActivity.this,
                        HomeActivity.class).putExtras(bundle);
                startActivity(intent);
            } else {
                Toast.makeText(LoginActivity.this, "Login failed...",
                        Toast.LENGTH_LONG).show();
            }

        }
    }
}
4 个回复

用这个

创建一个新的xml文件,其中包含textfields,edittexts,button,即您要在弹出窗口中显示的登录表单。现在,您可以调用以下方法来显示弹出窗口。

private void callLoginDialog() 
     {
         myDialog = new Dialog(this);
         myDialog.setContentView(R.layout.yourxmlfileID);
         myDialog.setCancelable(false);
         Button login = (Button) myDialog.findViewById(R.id.yourloginbtnID);

          emailaddr = (EditText) myDialog.findViewById(R.id.youremailID);
          password = (EditText) myDialog.findViewById(R.id.yourpasswordID);
          myDialog.show();

         login.setOnClickListener(new OnClickListener()
         {

            @Override
            public void onClick(View v)
            {
                    //your login calculation goes here
            }
        });


     }

如果它对你有帮助,请告诉我....

@android:style/Theme.Dialog应用于您的登录活动。 您可以在Manifest编辑器中执行此操作。

在你的清单文件中给出这样的

<activity android:name=".LoginActivity"
              android:label="Login"
              android:theme="@style/CustomDialogTheme"
              android:configChanges="locale|keyboardHidden|orientation"/>

并在styles.xml中将customDialogTheme命名为

   <style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">
    <item name="android:bottomBright">#fff</item>
    <item name="android:bottomDark">#fff</item>
    <item name="android:bottomMedium">#fff</item>
    <item name="android:centerBright">#fff</item>
    <item name="android:centerDark">#fff</item>
    <item name="android:centerMedium">#fff</item>
    <item name="android:fullBright">#7D266A</item>
    <item name="android:fullDark">#7D266A</item>
    <item name="android:topBright">#2f6699</item>
    <item name="android:topDark"#2f6699</item>
</style>

使用自定义对话框

客户供应商创建布局

根据您的要求单击显示自定义对话框对话框。

Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.customerlogin);

要么

dialog.setContentView(R.layout.supplierlogin);

dialog.show();
1 在对话框中显示计算结果(Android)

几天来我一直在尝试做一些看似简单但并非如此的事情。 在我正在制作的应用程序中,一种方法会计算一个值,并在单击按钮时在对话框中显示结果。 但是,每次我单击“结果”按钮时,结果都是0,因为它是数字的初始值。 你有解决办法吗? 这是方法: 这是对话框: 感谢您的回答。 ...

2 Android在对话框中显示选定的表行

点击时,我试图在对话框中显示表格行。 这些行包含图像。 是否可以在对话框中查看? 当我在下面运行此代码时,它在LogCat中显示错误,请说“您必须先在孩子的父级上调用removeView()”。 并且错误在此行上-&gt;“ alertDialog2.setView(tr);” ...

2014-07-12 07:25:58 1 355   android
3 在对话框android中显示我的片段

我有一个扩展片段的类。 我想要从活动中按一个按钮来打开该片段及其在对话框中的布局,此外该片段通常会在其位置正常打开。 这可能吗? 这是我的片段(TipsFragment.java) } 这是布局tips_fragement.xml ...

4 Android在对话框中显示另一个对话框

我试图从另一个对话框的按钮的onClick侦听器显示一个对话框,但第二个对话框将不会显示。 我搜索并发现了一个类似的问题 - 在Android中的Dialogs命令 ,尝试了提供的解决方案,但即使这样也行不通。 我的代码与答案中提供的代码非常相似。 public void on ...

5 我想在对话框中实现一个Recyler视图

我在回收者视图中创建了一个回收者视图。 当我选择内部回收站视图时,将显示该对话框,并且我想在该对话框中配置回收站视图。 我做了一个对话框,并成功显示了该对话框。 但我不知道如何在对话框中制作回收站视图。 请帮我。 对话类 内循环器视图 ...

8 在对话框中显示内容

我被这个问题困扰了一段时间; 在我的“ dashBoardActivity”中,当您单击它时,我有一个recyclerview 它转到“ infoActivity”,并显示单击的recyclerview的内容。 我想做的是当您单击recyclerview时,它会打开一个包含所单击内容的对话框。 ...

10 Pepper没有显示在对话框中

我正在使用Naoqi的对话框并使用多个主题。 我检查了 它们都表明我的主题已加载并激活。 但是Pepper对大多数激活的主题都没有回应。 当我在Choregraphe的“对话框”输入上输入相同的文本时,pepper会正确答复,但不使用语音命令。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM