的setText()不是从另一个活动的onClickListener
问题描述:
工作,我无法弄清楚,为什么我的代码不工作:的setText()不是从另一个活动的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);
}
并在此之后,该文本被正确设置。
但我不得不说,我不明白为什么代码在显示键盘时不起作用。
您只能找到视图,而不能设置文本。 message_contact =(TextView)v.findViewById(R.id.message); – MeHdi
listView.setAdapter(...)在哪里? – MeHdi
我没有把它列入这篇文章,但这里是我的完整代码:(文章的编辑版本)我设置第二活动 –