Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于Android中的登录表单创建_Android_Android Layout_Android Intent_Android Widget - Fatal编程技术网

关于Android中的登录表单创建

关于Android中的登录表单创建,android,android-layout,android-intent,android-widget,Android,Android Layout,Android Intent,Android Widget,我已经创建了一个简单的登录表单,通过提供用户名和密码,它将进入下一页并显示用户名和密码。。 但我的问题是用户名和密码都不会显示在下一页中。一次只显示一个。。 因为我是android新手,谁能帮我摆脱这一困境 MainActivity.java public class MainActivity extends Activity { public final static String UN = "com.example.loginpage.USERNAME"; public st

我已经创建了一个简单的登录表单,通过提供用户名和密码,它将进入下一页并显示用户名和密码。。 但我的问题是用户名和密码都不会显示在下一页中。一次只显示一个。。 因为我是android新手,谁能帮我摆脱这一困境

MainActivity.java

public class MainActivity extends Activity {
    public final static String UN = "com.example.loginpage.USERNAME";
    public static final String PWD = "com.example.loginpage.PASSWORD";

    public void sendMessage(View view) {
        Intent intent = new Intent(this, DisplayMessageActivity.class);
        EditText EditText01 = (EditText) findViewById(R.id.EditText01);
        EditText EditText02 = (EditText) findViewById(R.id.EditText02);
        String Un = EditText01.getText().toString();
        String Pwd = EditText02.getText().toString();
        intent.putExtra(UN, Un);
        intent.putExtra(PWD, Pwd);
        startActivity(intent);
    }
我的下一个活动代码是(DisplayMessageActivity)

我想在下一页显示用户名和密码
提前感谢

问题在于
setContentView()
替换以前设置的布局。尝试改用
addContentView()
。或者更好的方法是在布局文件show\u login\u和\u password.xml中定义这些文本视图:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <TextView
    android:id="@+id/textview1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

  <TextView
    android:id="@+id/textview2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

</LinearLayout>

问题在于
setContentView()
替换以前设置的布局。尝试改用
addContentView()
。或者更好的方法是在布局文件show\u login\u和\u password.xml中定义这些文本视图:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <TextView
    android:id="@+id/textview1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

  <TextView
    android:id="@+id/textview2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

</LinearLayout>
你设置文本视图的方式不会显示。在活动\显示\消息布局xml中添加这些文本视图如何?

首先创建活动显示消息.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <TextView
    android:id="@+id/textview1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

  <TextView
    android:id="@+id/textview2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

</LinearLayout>
你设置文本视图的方式不会显示。在活动\显示\消息布局xml中添加这些文本视图如何?

首先创建活动显示消息.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <TextView
    android:id="@+id/textview1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

  <TextView
    android:id="@+id/textview2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

</LinearLayout>
这就是你的问题:

setContentView(textView1);
setContentView(textView2);
第二个调用覆盖第一个调用

用XML定义布局并将值放入已定义的文本框/标签中这是您的问题:

setContentView(textView1);
setContentView(textView2);
第二个调用覆盖第一个调用

用XML定义布局,并将值放入已定义的文本框/标签中。您可以尝试以下操作:

Bundle extras = getIntent().getExtras();
return extras != null ? extras.getString(MainActivity.UN) : "nothing passed in";  
您可以尝试以下方法:

Bundle extras = getIntent().getExtras();
return extras != null ? extras.getString(MainActivity.UN) : "nothing passed in";  

天哪,你怎么能写两次setContentView

下面是更正后的代码段

// Creating a new LinearLayout
LinearLayout parentLayout = new LinearLayout(this);

// Setting the orientation to vertical
parentLayout.setOrientation(LinearLayout.VERTICAL);

LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.FILL_PARENT);

final TextView txtName = new TextView(this);
final TextView txtPwd = new TextView(this);

txtName.setText(message1);
txtPwd.setText(message2);

// Defining the layout parameters of the TextView
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);

txtName.setLayoutParams(lp);
txtPwd.setLayoutParams(lp);


parentLayout.addView(txtName);
parentLayout.addView(txtPwd);

setContentView(parentLayout, llp);

天哪,你怎么能写两次setContentView

下面是更正后的代码段

// Creating a new LinearLayout
LinearLayout parentLayout = new LinearLayout(this);

// Setting the orientation to vertical
parentLayout.setOrientation(LinearLayout.VERTICAL);

LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.FILL_PARENT);

final TextView txtName = new TextView(this);
final TextView txtPwd = new TextView(this);

txtName.setText(message1);
txtPwd.setText(message2);

// Defining the layout parameters of the TextView
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);

txtName.setLayoutParams(lp);
txtPwd.setLayoutParams(lp);


parentLayout.addView(txtName);
parentLayout.addView(txtPwd);

setContentView(parentLayout, llp);

你能更清楚地解释一下吗?我是必须替换activity_main.xml中的所有代码还是仅替换txtview中的所有代码?
setContentView()
activity用于设置布局。您可以创建任意数量的布局。因此,由于您有两个活动,所以在xml中预定义两个布局会很方便:activity_main.xml-让您的主要活动输入登录名和密码,activity_show_login_和_password.xml-显示给定的登录名和密码。在
onCreate()
方法中设置内容视图后,您可以通过其id检索此版面包含的任何元素,然后根据需要使用它。我做对了,这是因为您的精彩解释。我在第一次尝试时错过了一段代码。非常感谢soo-soo。这真的很有帮助。您能更清楚地解释我吗?我是否必须替换activity_main.xml或txtview中的所有代码单独使用???
setContentView()
由活动用于设置布局。您可以创建任意数量的布局。因此,由于您有两个活动,所以在xml中预定义两个布局会很方便:activity_main.xml-让您的主要活动输入登录名和密码,activity_show_login_和_password.xml-显示给定的登录名和密码。在
onCreate()
方法中设置内容视图后,您可以通过id检索此版面包含的任何元素,然后根据需要使用它。我做对了,这是对您美丽的解释。我第一次尝试时错过了一个代码。非常感谢soo-soo。这真的很有帮助。我们如何做到这一点?请您详细解释一下。请阅读此手册:也请参考Sean John的答案了解您的答案案例我想他举了一个明确的例子。我们如何做到这一点?请你详细解释一下。请阅读本手册:关于你的案例,请参考肖恩·约翰的答案。我想他举了一个很清楚的例子。你能详细解释一下吗?怎么做?发布你的活动?先显示?先显示?先发布消息>你能详细解释一下吗?怎么做?先发布你的活动?先显示?先发布消息>