View Full Version : تغییر دادن یک تکست در فرگمنت
Sadegh_TB
سه شنبه 15 بهمن 1392, 22:25 عصر
من چه جوری میتونم یه تکست رو با استفاده از یک دکمه آپدیت کنم؟
این برنامه ای که خودم نوشتم
فقط در اجرا دکمه عمل نمیکنه
میشه بگید اشکالش کجاست؟
package com.example.first;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
public class Events extends Fragment{
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment, container,true);
return rootView;
}
@Override
public void onStart(){
super.onStart();
final TextView tv = (TextView) getView().findViewById(R.id.textView1);
Button button1=(Button)
getView().findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
tv.setText("Hello");
}
});}}
shahin bahari
سه شنبه 15 بهمن 1392, 22:46 عصر
شما توی جای اشتباهی Listener رو براش تعریف میکنید.(دیر شده)
تو متد onCreateView ببرید درست میشه.
Sadegh_TB
چهارشنبه 16 بهمن 1392, 00:23 صبح
کاری که گفتید رو انجام دادم اما بازم اجرا نشد
اگه امکان داره میشه خودتون اصلاح کنید
harani
چهارشنبه 16 بهمن 1392, 14:14 عصر
به جای getview() از getActivity() استفاده کن
Sadegh_TB
چهارشنبه 16 بهمن 1392, 14:52 عصر
امتحان کردم درست نشد
راه حل دیگه ای میدونی؟
harani
چهارشنبه 16 بهمن 1392, 15:12 عصر
اونکار رو که کردی تو onCreateView مقدار true رو false کن getView() رو getActivity() تیدیل کن به جای onstart هم از oncreate استفاده کن
Sadegh_TB
چهارشنبه 16 بهمن 1392, 15:20 عصر
انجام دادم کد این شکلی شد
اما باز هم درست نشد
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment, container,false);
return rootView;
}
public void onCreate(){
super.onCreate(null);
final TextView tv = (TextView) getActivity().findViewById(R.id.textView1);
Button button1=(Button)
getActivity().findViewById(R.id.button1);
harani
چهارشنبه 16 بهمن 1392, 15:29 عصر
پس به جای onstart از onViewCreated استفاده کن
shahin bahari
چهارشنبه 16 بهمن 1392, 15:59 عصر
کاری که گفتید رو انجام دادم اما بازم اجرا نشد
اگه امکان داره میشه خودتون اصلاح کنید
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment, container,false);
final TextView tv = (TextView) rootView.findViewById(R.id.textView1);
Button button1=(Button)
rootView.findViewById(R.id.button1);
return rootView;
}
Sadegh_TB
چهارشنبه 16 بهمن 1392, 17:23 عصر
این کد رو اصلاح کردم
همه چیزش به نظر درست میاد اما بازم درست نشده
public class Events extends Fragment{
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_farvardin, container,false);
final TextView tv = (TextView) rootView.findViewById(R.id.textView1);
Button button1=(Button)
rootView.findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
tv.setText("Hello");
}
});
return rootView;}}
Sadegh_TB
چهارشنبه 16 بهمن 1392, 17:35 عصر
پس به جای onstart از onViewCreated استفاده کن
اقا نشد
نمیدونم چشه هر کاری میکنم نمیشه
harani
چهارشنبه 16 بهمن 1392, 17:50 عصر
میگید دقیقاً پروژتون چی تا من براتون پروژتونو بسازم ؟ شما فقط میخوای یه دکمه با یک تکست ویو تو فرگمنت داشته باشی که با زدن دکمه تو اون متنی درج بشه ؟
shahin bahari
چهارشنبه 16 بهمن 1392, 17:53 عصر
کد فرگمنت درست هست و مشکل حتما از جای دیگه هست. چک کنید که فرگمنت از لایبری support باشه , توی رویداد کلید یه لاگ بزارید ببینید به اونجا میرسه یا نه, فرگمنت دیگه ندارید که فوکوس صفحه کامل روی اون باشه و اصلا این فرگمنت توکن ویندو نداشته باشه! و...
Sadegh_TB
پنج شنبه 17 بهمن 1392, 13:33 عصر
میگید دقیقاً پروژتون چی تا من براتون پروژتونو بسازم ؟ شما فقط میخوای یه دکمه با یک تکست ویو تو فرگمنت داشته باشی که با زدن دکمه تو اون متنی درج بشه ؟
اره دقیقا همینو میخوام
توی تقویم میخوام استفاده کنم
Sadegh_TB
پنج شنبه 17 بهمن 1392, 13:44 عصر
کد فرگمنت درست هست و مشکل حتما از جای دیگه هست. چک کنید که فرگمنت از لایبری support باشه , توی رویداد کلید یه لاگ بزارید ببینید به اونجا میرسه یا نه, فرگمنت دیگه ندارید که فوکوس صفحه کامل روی اون باشه و اصلا این فرگمنت توکن ویندو نداشته باشه! و...
فرگمنتم تمام صفحست و با viewpager بین فرگمنت ها عوض میشه
متاسفانه لاگ گذاشتن رو بلد نیستم
خیلی ممنون از جواب هاتون
Sadegh_TB
پنج شنبه 17 بهمن 1392, 22:31 عصر
دوستان کسی نمیتونه مشکل منو حل کنه؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.