Android 单击文本视图并更改文本

Android 单击文本视图并更改文本,android,textview,Android,Textview,我正在使我的文本视图可单击,并希望文本在单击时发生更改。因此,文本视图开始说“Al”,当它被点击时,我希望它改为说,现在就说“Hi”。然后再次单击时返回。这是我的密码 package table.periodic; 导入android.app.Activity; 导入android.content.Intent; import.os.Bundle; 导入android.view.ContextMenu; 导入android.view.Menu; 导入android.view.MenuItem;

我正在使我的文本视图可单击,并希望文本在单击时发生更改。因此,文本视图开始说“Al”,当它被点击时,我希望它改为说,现在就说“Hi”。然后再次单击时返回。这是我的密码

package table.periodic;
导入android.app.Activity;
导入android.content.Intent;
import.os.Bundle;
导入android.view.ContextMenu;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.Button;
导入android.widget.TextView;
公开课活动{
公共按钮下一步;
公共文本视图符号;
公共静态final int ONE_ID=菜单。第一个+1;
公共静态final int TWO_ID=Menu.FIRST+2;
公共静态final int THREE_ID=Menu.FIRST+3;
公共静态final int FOUR_ID=Menu.FIRST+4;
公共静态final int FIVE_ID=菜单。第一个+5;公共静态
final int SIX_ID=菜单。FIRST+6;
创建公共空间(捆绑冰柱){
超级冰柱;
setContentView(R.layout.Aluminal);
symbol=(TextView)findViewById(R.id.symbol);
symbol.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
symbol=(TextView)findViewById(R.id.symbol);
if(“Al”.equals(symbol.getText()));
symbol.setText(“Hi”);
if(“Hi”.equals(symbol.getText()));
symbol.setText(“Al”);
}  });
next=(按钮)findViewById(R.id.next);
next.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图){
意向下一步=新意向(铝。本,铝2。等级);
星触觉(下一个);}});
}   
public void onCreateContextMenu(ContextMenu菜单,视图v,ContextMenu.ContextMenuInfo菜单信息){
大众菜单(菜单);
}
公共布尔onCreateOptions菜单(菜单){
大众菜单(菜单);
返回(super.oncreateoptions菜单(menu));
}
公共布尔值onOptionsItemSelected(菜单项项){
退货(applyMenuChoice(项目)||
super.onOptionsItemSelected(项目));
}
公共布尔值onContextItemSelected(MenuItem项){
退货(applyMenuChoice(项目)||
super.onContextItemSelected(项目));
}
私有void populateMenu(菜单){
menu.add(menu.NONE,ONE_ID,menu.NONE,“帮助”);
menu.add(menu.NONE,TWO_ID,menu.NONE,“Home”);
menu.add(menu.NONE,THREE_ID,menu.NONE,“List”);
menu.add(menu.NONE,FOUR_ID,menu.NONE,“Table”);
}
私有布尔applyMenuChoice(菜单项){
开关(item.getItemId()){
案例一:
意图帮助=新意图(这个,help.class);
星触觉(帮助);
返回(真);
案例二:
意向表=新意向(此,table.class);
星触觉(表);
返回(真);
案例三:
意图列表=新意图(这个,list.class);
星触觉(列表);
返回(真);
案例四:
Intent Classic=新Intent(这个,Classic.class);
星触觉(经典);
返回(真);
}返回false;
}
}

您正在单击侦听器中将symbol设置为R.id.symbol。这会将其重置为XML文件中的内容。调用setText不会更改R.id.symbol中的值。onclicklistener中不需要
symbol=(TextView)findViewById(R.id.symbol)
,我已经删除了它,并且在第一次启动时没有它。但它仍然没有改变文本。它仍然是Al.Oh。尝试“Al”.equals(symbol.getText().toString())那么,如果光标不显示,我该怎么办?对于那些只想使用轨迹球来判断自己选择了哪个元素的人来说,这是不可能的。有办法解决这个问题吗?