2013-10-02 4 views
0

나는이 사실을 가능한 빨리 알아볼 것입니다. 단추의 텍스트에서 원하는 응용 프로그램을 개발하고 있습니다. 코드 방식으로 설명해 드리겠습니다. 내 버튼에 "이 텍스트"가 있으면 그렇게하십시오. 나는 지난 이틀 동안 여러 가지 일을 시도해 왔으며 막 다른 골목에 처해있다. 그래서 나는 묻고있다. 여기 내 코드입니다 :Android 버튼 : 텍스트를 다시 가져 오는 중

XML :

<Button 
       android:id="@+id/bHiddenL1" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:visibility="invisible" 
       android:layout_margin="18dp" 
       android:text="@string/NotUsed" 
       android:maxLength="10" /> 

자바 :

protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.newnotebookbutton); 
      initializeNotebookNewSubject(); 


     } 


      public void initializeNotebookNewSubject() { 

       NewTextInput = (EditText) findViewById(R.id.etNewNotebookButtonCreateSubjectButton); 
       OKButton = (Button) findViewById(R.id.bOkButton); 
       Button1L = (Button) findViewById(R.id.bHiddenL1);   
       Button2L = (Button) findViewById(R.id.bHiddenL2);   
       Button3L = (Button) findViewById(R.id.bHiddenL3);   
       Button4L = (Button) findViewById(R.id.bHiddenL4);   
       Button5L = (Button) findViewById(R.id.bHiddenL5);   
       Button1R = (Button) findViewById(R.id.bHiddenR1);   
       Button2R = (Button) findViewById(R.id.bHiddenR2);   
       Button3R = (Button) findViewById(R.id.bHiddenR3);   
       Button4R = (Button) findViewById(R.id.bHiddenR4);   
       Button5R = (Button) findViewById(R.id.bHiddenR5);   

       OKButton.setOnClickListener(this); 

      } 


      @Override 
      public void onClick(View v) { 

       String b1L = Button1L.getText().toString(); 
       String b2L = Button2L.getText().toString(); 
       String b3L = Button3L.getText().toString(); 
       String b4L = Button4L.getText().toString(); 
       String b5L = Button5L.getText().toString(); 
       String b1R = Button1R.getText().toString(); 
       String b2R = Button2R.getText().toString(); 
       String b3R = Button3R.getText().toString(); 
       String b4R = Button4R.getText().toString(); 
       String b5R = Button5R.getText().toString(); 

       if(b1L == "Not Used" && NewTextInput.getText().toString() != null){ 

        NewSubjectBundle.putString("title1L", NewTextInput.getText().toString()); 
        NewSubjectBundle.putInt("int", 1); 
        mIntent.putExtras(NewSubjectBundle); 
        setResult(RESULT_OK, mIntent); 
        finish(); 

나를 더 내 문제를 지정할 수 있습니다. "String b1L = Button1L.getText(). toString();"을 수행하려고 할 때마다 포인터가 널이라는 logcat 오류가 발생합니다. 어떻게 수정해야합니까?

답변

1

==를 사용하여 문자열의 내용을 비교하지 마십시오.

b1L == "Not Used" 

b1L.equals("Not Used") 

또는

"Not Used".equals(b1L) 

How do I compare strings in Java ?

+0

그래, 고마워, 난 몰랐어. 어쨌든, 그건 내 문제가 아니야. 문제는 내가 "문자열 b1L = Button1L.getText(). toString();을 수행하려고 할 때입니다." logcat에 내용이 null이라는 오류가 있습니다. 어떤 단서? –

0

ZouZou이 옳다 더 나은해야한다. 하지만 귀하의 경우에는 더 나은 것입니다 :

b1L.equals(getResources().getString(R.string.NotUsed)); 
관련 문제