1

我有一些问题

我想更改我的 textview 值。当我的代码改变时它会改变

这是代码

public class SubMenuActivity extends Activity {
private static final int GALLERY = 0;
private static final int SUBMANU01 = 7;
private static final int MANU01 = 1;
private static final int MANU02 = 2;
private static final int MANU03 = 3;
private static final int MANU04 = 4;
private static final int MANU05 = 5;
TextView tx1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    tx1 =(TextView)this.findViewById(R.id.textView1);
   if(tx1.toString()=="1".toString())
   {
       tx1.setText("7");
   }
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    SubMenu fileMenu = menu.addSubMenu(GALLERY, SUBMANU01, Menu.NONE, "File");    
    fileMenu.add(GALLERY, MANU01, Menu.NONE, "new");  
    fileMenu.add(GALLERY, MANU02, Menu.NONE, "open");  
    fileMenu.add(GALLERY, MANU03, Menu.NONE, "save");  
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case MANU01:
    case MANU02:
    case MANU03:
    final   String itemid = Integer.toString(item.getItemId());
         tx1.setText(itemid);
        return true;
    }
    return super.onOptionsItemSelected(item);
}

tx1.text 值没有显示 7 ,问题出在哪里?我希望有人能告诉我这个问题。

4

6 回答 6

5

像这样比较

 if(tx1.getText().toString().equals("1"))
 {
   tx1.setText("7");
 }
于 2012-09-27T04:05:50.593 回答
1

字符串不能与==运算符进行比较,它们可以与.equals方法进行比较

所以把你的代码改成这个

if(tx1.toString().equals("1"))
 {
   tx1.setText("7");
 }
于 2012-09-27T04:05:05.573 回答
1

代替

if(tx1.toString()=="1".toString())    {
    tx1.setText("7");   
} 

试试这个

if(tx1.getText().toString().equals("1"))    { 
   tx1.setText("7");    
} 
于 2012-09-27T04:06:21.930 回答
0

您需要比较变量,例如.equal(Object/String)

if(tx1.toString().equals("1"))
 {
   tx1.setText("7");
 }
于 2012-09-27T04:08:21.323 回答
0

在java中“==”表示地址相同,相反,您可以使用来自基本类“object”的.equel()。

于 2012-09-27T04:19:09.533 回答
0

首先应该打印 txt1 的值。

System.out.println("value of tx1:"+tx1.getText.toString());
if(tx1.getText().toString().equals("1"))

 {
   tx1.setText("7");
 }
于 2012-09-27T04:27:29.210 回答