![](/img/trans.png)
[英]Transfer data from EditText to TextView of another activity using setText and onClickListener?
[英]setText() not working from another Activity's onClickListener
我不知道為什么我的代碼無法正常工作:
第一次活動
public static TextView name_contact;
public static TextView message_contact;
public static TextView count_contact;
public static TextView timestamp_contact;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.researchpurpose);
final ListView listView = (ListView) findViewById(R.id.listViewConvlist);
chatRoomsAdapter = new ChatRoomsAdapter(getApplicationContext(), R.layout.chat_rooms_list_row);
listView.setAdapter(chatRoomsAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View v, int position, long arg3)
{
message_contact = (TextView) v.findViewById(R.id.message);
}
});
}
第二次活動
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_acitivy);
ImageButton buttonSend = (ImageButton) findViewById(R.id.imageButton);
buttonSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
FirstActivity.message_contact.setText("IL N'Y A QUE TOI");
}
});
}
因為如果我將代碼放在“ 第二個活動”中 ,它將起作用!
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_acitivy);
FirstActivity.message_contact.setText("IL N'Y A QUE TOI");
}
而且當檢查日志時,我沒有得到任何錯誤...
我想到了 ! 原來,虛擬鍵盤在顯示時正在停止該順序(當我說的是我的意思是FirstActivity.message_contact.setText("IL N'Y A QUE TOI");
)。
因此,在發送帶有以下代碼的命令之前,我要關閉/隱藏虛擬鍵盤:
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
在此之后,將正確設置文本。
但是我不得不說,我不明白為什么顯示鍵盤時代碼不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.