2013-10-11 2 views
1

button 클릭하여 텍스트를 표시하려고합니다.단추가있는 텍스트 표시/숨기기

public class Uteliv extends Activity { 

    public void onCrate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_uteliv); 

     TextView tidiTekst = (TextView) findViewById(R.id.tidiTekst); 
     tidiTekst.setVisibility(View.GONE); 

     Button tidiKnapp= (Button) findViewById(R.id.tidiKnapp); 
     tidiKnapp.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      tidiTekst.setVisibility(View.VISIBLE); 

     } 
    }); 
    } 
} 

잘못 무엇입니까 : 내 onClick 코드는 여기에

입니까? 내 전화로 테스트 할 때 나는 빈 페이지 만 얻는다.

+0

? 무슨 예외가 있니? –

+1

어떤 오류가 발생하고 있습니까? 어떤? – gh123man

+1

'onCreate' 만 쓰셨습니까? 왜냐하면 여기서'onCrate'라고 쓰여져 있기 때문입니다. . AFAIK 컴파일 된 오류가 발생합니다. 그러나 당신이 말하고있는 것처럼 그것이 달릴 수도 있습니다. 여전히 두 번 확인해보십시오. –

답변

3

은 아마 당신은해야한다, 당신의 게시물에 오타가 문제가 당신이

public void onCrate(Bundle savedInstanceState) { 

는 또한

public void onCreate(Bundle savedInstanceState) { 

해야 적절한 Activity 방법

를 선언하지 않은 것입니다이었다 View 멤버 변수 ( onCreate() 앞에 선언하고 onCreate() 내부에 초기화하십시오)

편집

/숨기려 당신의 TextView 당신이 무엇을 결정하기 위해 getVisibility를 사용할 수 있습니다. 그래서 (XML

public void onClick(View v) { 
     tidiTekst.setVisibility((tidiTekst.getVisibility() == View.Visible) 
               ? View.GONE : View.VISIBLE); 
    } 
+0

그게 전부입니다! 주의 해 주셔서 감사합니다 :) 텍스트가 표시되면 어떻게 닫을 수 있습니까? –

+0

무슨 소리 야? 닫고 싶은 "it"은 무엇입니까? – codeMagic

+0

표시된 경우 텍스트를 숨 깁니다. –

0

버튼과 textView 변수를 on-create 메소드 외부에서 정의하십시오. 오류를 게시 할 때까지는 onCreate가 끝나면 범위를 벗어나므로 null 포인터를 얻고 있다고 가정합니다.

TextView tidiTekst; 
Button tidiKnapp; 

public void onCrate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_uteliv); 


    tidiTekst = (TextView) findViewById(R.id.tidiTekst); 
    tidiTekst.setVisibility(View.GONE); 

    tidiKnapp= (Button) findViewById(R.id.tidiKnapp); 
    tidiKnapp.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      tidiTekst.setVisibility(View.VISIBLE); 

     } 
    }); 
} 
+0

테스트 할 때 여전히 빈 페이지. –

+1

좀 더 구체적으로 기재 할 수 있습니까? logcat/errors를 제공합니까? – gh123man

0

마지막으로 textView를 디 카톨하면 효과가 있습니까? 이 아니라면

final TextView tidiTekst = (TextView) findViewById(R.id.tidiTekst); 
+0

변경되지 않았습니다. 아직 비어 있습니다. –

0

같은, 그것은 레이아웃에 뭔가해야합니다, 이클립스 또는 인 IntelliJ의 IDEA와 같은 WYSIWYG IDE에 R.layout.activity_uteliv을 확인 그래픽 모드에서 편집하십시오 것).

private TextView mytxtvw; 
private Button myButton; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mytxtvw=(TextView)findViewById(R.id.myTextView); 
    myButton=(Button)findViewById(R.id.mybtn); 

    onBtnClick(); 
} 

public void onBtnClick() 
{ 
    myButton.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      mytxtvw.setVisibility((mytxtvw.getVisibility() == View.VISIBLE) 
        ? View.GONE : View.VISIBLE); 

     } 
    }); 



} 

MainActivity.java

에 대한

1

activity_Main.xml

<LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:orientation="vertical" 
    android:padding="10dip" > 



    <Button 
     android:id="@+id/mybtn" 
     style="?buttonBarButtonStyle" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="10dip" 
     android:layout_weight="1" 
     android:background="#c4c5c7" 
     android:shadowColor="#959597" 
     android:shadowDx="0" 
     android:shadowDy="1" 
     android:shadowRadius="1" 
     android:text="Button" 
     android:textColor="#ffffff" 
     android:textSize="30sp" 
     android:textStyle="bold" /> 

    <TextView 
    android:id="@+id/myTextView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="15dp" 
    android:text="hidden" 
    android:visibility="gone"/> 

</LinearLayout> 

코드}

당신이 작동하지 않는 당신의 텍스트 뷰가 보이지 않게된다
관련 문제