setText()无法使用另一个Activity的onClickListener

时间:2017-03-31 20:42:11

标签: java android android-layout android-studio textview

我无法弄清楚为什么我的代码无效:

第一项活动

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");

}

检查日志时,我没有收到任何错误......

1 个答案:

答案 0 :(得分:0)

我明白了!事实证明虚拟键盘在显示时停止了订单(当我说我的意思是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);
}

在此之后,正确设置了文本。

但我必须说我不明白为什么在显示键盘时代码不起作用。