Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
1802
Tıklama
0
Öne Çıkarma
Android Fragment'larda OnClick Methodu (ÇÖZÜLDÜ)
A
10 yıl
Yarbay
Konu Sahibi

Ek: Çözüldü. Xml'deki onCick yöntemini kullandığımdan oluyormuş sanırsam. Onun yerine class için setOnClickListener kullanınca methodu fragment'da aramaya başladı.


Bir fragment'ım var ve içinde bir onClick methodu var. Bu method, fragment'ın içindeki bir interface yardımıyla diğer fragment ile haberleşecek.

Yalnız olay şu ki, uygulama çalıştığında android bu onClick methodunu fragment'da değil de interface'i implement eden Activity içinde arıyor. Sebep ne?

 
public class NewTest extends FragmentActivity implements new_test_layout.DearListener {

android.support.v4.app.FragmentManager manager;
new_answer_layout new_answer_layout_object;
//bu new_answer_layout'da 2. fragment, onun kodunu da koyabilirim istenirse
new_test_layout new_test_layout_object;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_holder);
}

@Override
// Bu implement edilen class
public void getMyText(String theQuestion) {
//bu new_answer_layout'da 2. fragment, onun kodunu da koyabilirim istenirse
new_answer_layout_object = new new_answer_layout();
new_answer_layout_object.showQuestion(theQuestion);
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.the_frame_layout, new_answer_layout_object );
transaction.addToBackStack(null);
}

}




Bu da interface'i içeren fragment:

 
package *****

import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class new_test_layout extends Fragment {

DearListener activityCommander;
TextView custom_question_bar, list_number;
String selectedCustomQuestion;
boolean buttonClicked;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.new_test_layout, container, false);
custom_question_bar= (TextView) v.findViewById(R.id.custom_question_bar);
list_number= (TextView) v.findViewById(R.id.list_number);
return v;
}


public interface DearListener {
public void getMyText(String theQuestion);
}

@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
activityCommander = (DearListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString());
}
}

public void onClickYiyecek(View v){
activityCommander.getMyText("En sevdiğim yiyecek ne?");
}

public void onClickQuestionReady(View v){
activityCommander.getMyText(custom_question_bar.getText().toString());
}

}



İşte onClickYiyecek methodunu neden Activity içinde arıyor çözemedim. Umarım çözülür.





< Bu mesaj bu kişi tarafından değiştirildi avatar78 -- 1 Mart 2015; 11:51:16 >


Bu mesajda bahsedilenler: @ahmtbrk58
A
10 yıl
Yarbay
Konu Sahibi

GitHub hesabım yok ama soruyu stackof de sormuştum, oranın linkini atayım hocam:

http://stackoverflow.com/questions/28827074/cant-change-the-fragments-textview-on-realtime



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @Revolucionare
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.