마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

butterknife사용해서 아주아주 간단한 예제를 짜는데 안되는 이유를 모르겠네요.. 도움 부탁드립니다.

0 추천

하려는건 EditText에서 홈페이지 주소받아서 버튼누르면 그 홈페이지로 이동하는 것입니다

먼저 문제는, java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference 입니다.

 

xml:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="3"
    android:orientation="vertical">

    <EditText

        android:id="@+id/et_urlText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="left"
        android:hint="http://www.youtube.com"
        android:inputType="textWebEmailAddress" />

    <Button

        android:id="@+id/tv_adaptButton"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="ADAPT URL"
        android:textSize="50dp"
        android:onClick="onAdaptClick"/>

</LinearLayout>

 

 

 

 

MainActivity:

 

public class MainActivity extends AppCompatActivity {

    @Bind(R.id.et_urlText)
    EditText et_urlText;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);}
    
    @OnClick(R.id.tv_adaptButton)
    public void onAdaptClick(View view)
    {
        Toast.makeText(this,"적용되었습니다!", Toast.LENGTH_LONG).show();
        String url=et_urlText.getText().toString();
        //url="http://www.melon.com";
        Log.i("MainActivity/onclick","이동하려는 url주소는, "+url);
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.addCategory(Intent.CATEGORY_BROWSABLE);
        intent.setData(Uri.parse(url));
        startActivity(intent);
    }
입니다. 도움부탁드립니다. 아무리검색해도 도저히 왜안되는지 모르겠습니다.

 

익명사용자 님이 2017년 7월 8일 질문

1개의 답변

0 추천
 
채택된 답변
몇군데 빼먹은 게 많네요. 아래를 참고 하세요.

https://stackoverflow.com/questions/29603834/butterknife-onclick-is-not-working

참, 그리고, 배우고 있을 때는 복사하지 말고 실제로 Typing을 하기를 추천합니다.

저는 아직도 빈 Class를 만들어서 거기에 가장 기본이 되는 onCreate() 정도는 외워서 작업해서 추가하는 편입니다.

이건 순전히 개인적인 생각이라고 밝히고 이야기 합니다.

Butterknife 를 쓰는 것은 좋은 것은 아니라고 생각합니다.

게다가 수많은 오픈 소스를 보면 대부분 안씁니다. 가급적이면 가장 기본적인 베이스에서 시작합니다.

그건 이해도를 높이기 위한 부분도 있겠지만, ButterKnife가 안드로이드 Fundamental이 바뀌었을 때, 바로바로 라이브러리를 수정해서 배포할 것인지도 의문이죠.

또한, 다른 오픈소스를 가져와서 붙일 때도 매번 Butterknife로 수정하셔야 할 겁니다. 그 반대의 경우는 상대적으로 별로 없죠.

개인적인 생각이라는 것을 한번 더 밝힙니다. 세상에 의미없는 오픈소스는 없다고 생각합니다. ButterKnife도 그중에 훌륭한 하나이죠.
Will Kim (43,170 포인트) 님이 2017년 7월 8일 답변
Will Kim님이 2017년 7월 8일 수정
질문자입니다.
조언감사합니다. 초심자로써 ButterKnife를 계속사용할까했는데 그냥 있는거를 사용해서 하기로마음먹었네요 감사해요^^
...