2013-04-20 167 views
-1

是新的android,我很想知道如何使我喜歡當我點擊button1,然後button2文本視圖將顯示1 2 ,,,但如果我點擊button2然後button1它會顯示2 1如何製作一個排序字母作爲字母

這是我的代碼,但現在當我單擊button然後按鈕2,或者如果我點擊BUTTON2然後BUTTON1它顯示了同樣的,, plz幫助我 感謝名單。

現在我做了它使用getText & setText其工作,因爲我想要但條件,如果它的正確與否不工作PLZ幫助!它有什麼問題,我的方法是否正確?

protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    // Full screen 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
          WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setContentView(R.layout.wordgame2); 

    bu1 = (Button) findViewById(R.id.bu1); 
    bu2 = (Button) findViewById(R.id.bu2); 
    bu3 = (Button) findViewById(R.id.bu3); 
    bu4 = (Button) findViewById(R.id.bu4); 
    bu5 = (Button) findViewById(R.id.bu5); 


    t1 = (TextView) findViewById(R.id.t1); 

    i1 = (ImageView) findViewById(R.id.i1); 
    i2 = (ImageView) findViewById(R.id.i2); 

    bu1.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      t1.setText(t1.getText()+" "+bu1.getText()); 

     } 

    }); 

    bu2.setOnClickListener(new View.OnClickListener() { 

       public void onClick(View v) { 
        // TODO Auto-generated method stub 

        t1.setText(t1.getText()+" "+bu2.getText()); 


       } 

      }); 

    bu3.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      t1.setText(t1.getText()+" "+bu3.getText()); 

     } 

    }); 

    bu4.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 


      t1.setText(t1.getText()+" "+bu4.getText()); 
     } 

    }); 

    bu5.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 

     if(t1.getText().toString().equals("a b c d")) //this is not working 
      { 

       i1.setVisibility(View.VISIBLE); 
       i2.setVisibility(View.INVISIBLE); 
      }  

      else { 
       i2.setVisibility(View.VISIBLE); 
       i1.setVisibility(View.INVISIBLE); 
      } 
     } 

    }); 


} 

7月4日至21日:00:48.690:E/AndroidRuntime(23874):致命異常:主 7月4日至21日:00:48.690:E/AndroidRuntime(23874):java.lang中。 RuntimeException:無法啓動活動ComponentInfo {com.arabicalphabets.reham/com.arabicalphabets.reham.Wordgame2}:java.lang.NullPointerException 04-21 07:00:48.690:E/AndroidRuntime(23874):at android.app。 ActivityThread.performLaunchActivity(ActivityThread.java:1970) 04-21 07:00:48.690:E/AndroidRuntime(23874):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 04-21 07:00: 48.690:E/AndroidRuntime(23874):在android.app.ActivityThread.acces S $ 600(ActivityThread.java:127) 04-21 07:00:48.690:E/AndroidRuntime(23874):at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1161) 04-21 07:00 :48.690:E/AndroidRuntime(23874):at android.os.Handler.dispatchMessage(Handler.java:99) 04-21 07:00:48.690:E/AndroidRuntime(23874):at android.os.Looper.loop (Looper.java:137) 04-21 07:00:48.690:E/AndroidRuntime(23874):at android.app.ActivityThread.main(ActivityThread.java:4512) 04-21 07:00:48.690:E/AndroidRuntime(23874):at java.lang.reflect.Method.invokeNative(Native Method) 04-21 07:00:48.690:E/AndroidRuntime(23874):at java.lang.reflect.Method.invoke(Method。 java:511) 04-21 07:00:48.690:E/AndroidRuntime(23874):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:982) 04-21 07:00:48.690:E/AndroidRuntime(23874):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749) 04-21 07:00:48.690:E/AndroidRuntime 23874):at dalvik.system.NativeStart.main(Native Method) 04-21 07:00:48.690:E/AndroidRuntime(23874):引起:java.lang.NullPointerException 04-21 07:00:48.690: E/AndroidRuntime(23874):at com.arabicalphabets.reham.Wordgame2.onCreate(Wordgame2.java:36) 04-21 07:00:48.690:E/AndroidRuntime(23874):at android.app.Activity.performCreate E/AndroidRuntime(23874):at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052) 04-21 07:00:48.690:E/AndroidRuntime(23874) AndroidRuntime(23874):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 7月4日至21日:00:48.690:E/AndroidRuntime(23874):...... 11多個

+0

需要追加,使用'getText'和'setText'到使用TextView的內容 – 2013-04-20 00:36:20

+0

okie ,,請你給我看一些例子嗎? – 2013-04-20 00:38:58

+3

不,自己想想,這個作業是最簡單的一個。 – 2013-04-20 00:40:56

回答

0

第一,而不是宣佈每個按鈕單獨使用循環來聲明他們...

Button[] buttons; 
for(int i=0; i<5; i++) { //for your 5 buttons 
{ 
String buttonID = "bu" + (i+1); 
int resID = getResources().getIdentifier(buttonID, "id", getPackageName()); 
buttons[i] = ((Button) findViewById(resID)); 
} 

- 使用開關()找到點擊按鈕...

-and作爲案件執行onclick()如下

public void onClick(View v) { 
     t1.setText(t1.getText().toString()+" "+buttons[i].getText().toString()); 
} 

希望工程

+0

我不知道它現在每次打開它的崩潰,並且仍然if if語句是(if(t1.getText()。toString ).equals(「abcd」))它不工作 當他們點擊bu5如果t1是正確的「abcd」它會顯示圖片 y此方法不工作時,我沒有錯誤? – 2013-04-20 16:30:26

+0

更新您的問題與您的logcat輸出。 – 2013-04-20 20:57:47

+0

我已更新.. – 2013-04-20 23:46:14

0

我看不到有什麼不妥之處,爲什麼它的崩潰,以及爲什麼if else聲明不工作.. ??

public class Wordgame2 extends Activity implements OnClickListener { 

Button[] buttons; 
TextView t1; 
ImageView i1, i2; 
int i; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    // Full screen 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
          WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setContentView(R.layout.wordgame2); 

    for(int i=0; i<5; i++) { 
     { 
     String buttonID = "bu" + (i+1); 
     int resID = getResources().getIdentifier(buttonID, "id", getPackageName()); 
     buttons[i] = ((Button) findViewById(resID)); 
     buttons[i].setOnClickListener(this); 
     } 
     } 
    t1 = (TextView) findViewById(R.id.t1); 

    i1 = (ImageView) findViewById(R.id.i1); 
    i2 = (ImageView) findViewById(R.id.i2); 







} 
public void onClick(View v) { 
    // TODO Auto-generated method stub 

    switch (v.getId()){ 

    case R.id.bu1: 
     t1.setText(t1.getText().toString()+" "+buttons[i].getText().toString()); 
     break; 

    case R.id.bu2: 
     t1.setText(t1.getText().toString()+" "+buttons[i].getText().toString()); 
     break; 

    case R.id.bu3: 
     t1.setText(t1.getText().toString()+" "+buttons[i].getText().toString()); 
     break; 

    case R.id.bu4: 
     t1.setText(t1.getText().toString()+" "+buttons[i].getText().toString()); 
     break; 

//當他們點擊BU5如果T1是爲 「ABCD」 正確的,它會顯示圖片

case R.id.bu5: 


     if(t1.getText().toString().equals("a b c d")) //this is not working 
     { 

      i1.setVisibility(View.VISIBLE); 
      i2.setVisibility(View.INVISIBLE); 
     }  

     else { 
      i2.setVisibility(View.VISIBLE); 
      i1.setVisibility(View.INVISIBLE); 
     } 

     break; 

    } 
} 

}