1. 程式人生 > >初學android studio——如何通過編輯框(EditText)向另一個activity的文字框(TextView)傳送資訊

初學android studio——如何通過編輯框(EditText)向另一個activity的文字框(TextView)傳送資訊

1.首先建立好兩個activity,取名分別為activity_main和 activity_display_message

PS:我這裡都是以basic activity和線性佈局(LinearLayout)為例

2.在在第一個activity的佈局檔案(content_main.xml)中建立一個編輯框(EditText)和一個按鈕(Button),並在按鈕中設定觸發事件sendMessage,程式碼如下:

<EditText
        android:id="@+id/edit_message1"
        android:hint="@string/edit_message1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="sendMessage"
        android:text="傳送" />

PS: sendMessage是一個觸發事件,點選按鈕後觸發改方法。

3.在MainActivity.java下宣告一個sendMessage方法,程式碼如下:

public void sendMessage(View view)
    {
        Intent intent = new Intent(this,DisplayMessangeActivity.class);
        //宣告一個編輯框和佈局檔案中id為edit_message的編輯框連結起來。
        EditText editText = (EditText) findViewById(R.id.edit_message1);
        //把編輯框獲取的文字賦值給String型別的message
        String message = editText.getText().toString();
        //給message起一個名字,並傳給另一個activity
        intent.putExtra("EXTRA_MESSAGE",message);
        //啟動意圖
        startActivity(intent);
    }

4.在我們建立的第二個Activity的佈局檔案(activity_display_message.xml)下建立一個文字框(TextView)並設定id,程式碼如下:

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

PS:這個文字框是用於接收並顯示資訊的

5.開啟DisplayMessageActivity.java在onCreat方法中新增程式碼如下:

        //關聯佈局檔案
        setContentView(R.layout.activity_display_message);
        Intent intent = getIntent();
        //把傳送進來的String型別的Message的值賦給新的變數message
        String message = intent.getStringExtra("EXTRA_MESSAGE");
        //把佈局檔案中的文字框和textview連結起來
        TextView textView = (TextView) findViewById(R.id.RecMes);
        //在textview中顯示出來message
        textView.setText(message);

6.這樣就實現了一個簡單的、線性佈局下的編輯框向文字框傳輸資料的簡單功能,程式碼的註釋大多是我自己的理解,如有錯誤望各位大佬給指出,初學者若有不懂的歡迎留言。下面給出模擬機實現效果。