1

ユーザー名とパスワードを入力すると、次のページに移動してユーザー名とパスワードが表示される簡単なログインフォームを作成しました。しかし、私の問題は、ユーザー名とパスワードの両方が次のページに表示されないことです。一度に1つしか表示されません。 ..私はアンドロイドに不慣れなので、誰かがこれから私を助けてくれませんか..

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)です

public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_display_message);
     getActionBar().setDisplayHomeAsUpEnabled(true);
     Intent intent = getIntent();
     String message1 = intent.getStringExtra(MainActivity.UN);
     String message2 = intent.getStringExtra(MainActivity.PWD);
     TextView textView1 = new TextView(this);
     textView1.setTextSize(40);
     textView1.setText(message1);
     TextView textView2 = new TextView(this);
     textView2.setTextSize(40);
     textView2.setText(message2);
     setContentView(textView1);
     setContentView(textView2);
 }

よろしくお願いします。次のページにユーザー名とパスワードの両方を表示したい

4

5 に答える 5

1

問題は、setContentView()以前に設定した以前のレイアウトを置き換えることです。addContentView()代わりに使用してみてください。または、レイアウト ファイル show_login_and_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>

そしてあなたの活動でonCreate

setContentView(R.layout.show_login_and_password);

TextView t1 = (TextView) findViewById(R.id.textview1);
t1.setText(intent.getStringExtra(MainActivity.UN));

TextView t2 = (TextView) findViewById(R.id.textview2);
t2.setText(intent.getStringExtra(MainActivity.PWD));
于 2012-11-21T09:54:49.187 に答える
0

どうすればsetContentViewを2回書くことができますか。

ここに修正されたスニペットがあります。

// 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);
于 2012-11-21T10:05:30.120 に答える
0

これを試すことができます:

Bundle extras = getIntent().getExtras();
return extras != null ? extras.getString(MainActivity.UN) : "nothing passed in";  
于 2012-11-21T09:56:20.963 に答える
0
TextView textView1=new TextView(this);
textView1.setTextSize(40);
textView1.setText(message1);
TextView textView2=new TextView(this);
textView2.setTextSize(40);
textView2.setText(message2);
setContentView(textView1);
setContentView(textView2);

テキストビューを設定する方法は表示されません。これらのテキストビューを activity_display_message レイアウト xml に追加するのはどうですか?

最初に activity_display_message.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>

onCreate() メソッドを次のように変更します。

public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_display_message);
     getActionBar().setDisplayHomeAsUpEnabled(true);
     Intent intent = getIntent();
     String message1 = intent.getStringExtra(MainActivity.UN);
     String message2 = intent.getStringExtra(MainActivity.PWD);
     TextView textView1 = (TextView) findViewById(R.id.textview1);
     textView1.setTextSize(40);
     textView1.setText(message1);
     TextView textView2 = (TextView) findViewById(R.id.textview2);
     textView2.setTextSize(40);
     textView2.setText(message2);
 }
于 2012-11-21T09:55:02.610 に答える
0

これはあなたの問題です:

setContentView(textView1);
setContentView(textView2);

2 番目の呼び出しは最初の呼び出しを上書きします。

XML でレイアウトを定義し、定義済みのテキスト ボックス/ラベルに値を入れます

于 2012-11-21T09:55:02.820 に答える