2016-09-03 8 views
-3

У меня проблема с Текстовое изображение в фрагменте. В моем фрагменте xml у меня есть ImageButtons и TextView. Я хочу, чтобы, если я нажму кнопку, Textview, чтобы изменить. Я делаю все как обычно, но он падает.Андроид textview.settext с нажатием кнопки

Вот мой код:

public class Tatlilar extends Fragment implements View.OnClickListener{ 


    public Tatlilar() { 
     // Required empty public constructor 
    } 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     View view = inflater.inflate(R.layout.fragment_tatlilar, container, false); 
     ImageButton imageButtonKalsonuc = (ImageButton) view.findViewById(R.id.imageButtonCikolata); 
     final TextView textViewKalsonuc = (TextView) view.findViewById(R.id.textViewSonuc); 

     imageButtonKalsonuc.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Toast.makeText(getActivity(),"tıklandı", Toast.LENGTH_LONG).show(); 
       textViewKalsonuc.setText("hello"); 
      } 
     }); 
     return view; 

    } 

    @Override 
    public void onClick(View v) { 
    } 
} 

вот мой журнал ошибок:

FATAL EXCEPTION: main                    
                      java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 
                       at com.azelirbrevo.glisemikindeks.Tatlilar$1.onClick(Tatlilar.java:44) 
                       at android.view.View.performClick(View.java:4756) 
                       at android.view.View$PerformClick.run(View.java:19761) 
                       at android.os.Handler.handleCallback(Handler.java:739) 
                       at android.os.Handler.dispatchMessage(Handler.java:95) 
                       at android.os.Looper.loop(Looper.java:135) 
                       at android.app.ActivityThread.main(ActivityThread.java:5253) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at java.lang.reflect.Method.invoke(Method.java:372) 
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

мой XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<TableLayout 
    android:layout_width="match_parent" 
    android:layout_height="350dp" 
    android:layout_alignParentTop="false" 
    android:layout_alignParentStart="false" 
    android:layout_alignParentLeft="false" 
    android:gravity="left" 
    android:layout_marginTop="70dp" 
    android:id="@+id/tableLayout"> 

    <TableRow 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <ImageButton android:id="@+id/imageButtonCikolata" 
      android:layout_column="3" 
      android:src="@drawable/chocolate" 
      android:background="@null" 
      android:layout_width="70dp" 
      android:layout_height="70dp" 
      android:gravity="left" 
      android:layout_marginLeft="15dp" /> 

    <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="100dp" 
    android:layout_marginTop="420dp"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:id="@+id/textViewKaloriSonuc" 
     android:textAlignment="center" /> 
+0

сообщение журнал ошибок, которые вы получаете, и ваш вопрос не ясно, что вы хотите спросить. –

+0

Это потому, что вы textView равно null – Wizard

+0

Поскольку вы не опубликовали журнал ошибок или макет, либо ваш текстовый код получает неверный идентификатор, либо null, либо кнопка изображения –

ответ

0

Вы дали неправильный идентификатор для Text View. Ваш файл xml содержит другой идентификатор, который вы использовали.

Измените это.

TextView textViewKalsonuc = (TextView) view.findViewById(R.id.textViewSonuc); 

К этому.

TextView textViewKalsonuc = (TextView) view.findViewById(R.id.textViewKaloriSonuc); 
+0

Да, я видел ошибку. Спасибо, сэр. –

Смежные вопросы