آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال ساده ولی ضروروی در مورد انتقال اسم و عدد از یک اکتیویتی به اکتیویتی دیگه

صالحی  9 سال پیش  9 سال پیش
0 0

سلام

من چند تا ادیت تکس دارم که میخوام شخص اطلاعات خودش رو وارد کنه و با زدن دکمه صفحه بعد تمام این اطلاعات در صفحه بعدی باشه 

چکاری باید انجام بدم ؟؟  لطفا راهنمایی کنید و اگر نمونه کدی هست لطفا معرفی کنید 

دوستان؟؟؟

+2 0
سلام بله خیلی ساده اس من در قالب یک پاسخ بهتون راهنمایی میکنم . (9 سال پیش)
+1 0
مرسی .ممنون میشم ازتون (9 سال پیش)
+1 0
خواهش میکنم اگه به کارتون اومد و مفید شد، لطفا با انتخاب پاسخ به عنوان پاسخ صحیح بچه ها رو راهنمایی کنید. با تشکر (9 سال پیش)
 برای این سوال 6 پاسخ وجود دارد.
پاسخ به سوال 
sana ebadi  9 سال پیش
+5 0

خب 

این کار با putExtra و bundle امکان پذیره .

مثلا شما در اکتویتی اول دو  EditText  دارید که در اولی اسمتون و در دومی سنتون رو وارد میکنید 

و انتظار دارین همین داده ها  بصورت یک تکست در اکتیویتی دوم نمایش داده بشن . 

خب اول EditText خودتون رو طراحی کنید (در لی اوت )

بعد با توجه به id ، اونا رو در اکتیویتی به جاوا مربوط میکینید (کست میکنید ) مثلا     `EditText edt_text = (EditText findViewById (R.id.edt_text))

خب اینجوری تعریف میکنید و button یی که وظیفه ی رفتن به اکتیویتی بعدی هست رو هم تعریف میکنید . و براس یه 

setOnClickListenerتعریف میکنید .  و در اونجا کد اصلی نوشته میشه ینی همون "putExtra"   خب مثلا مثل زیر توجه کنید :

کلا از متد 

`()getText().toString` استفاده میکنیم.

btn_goNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

String data = edt_data.getText().toString(); // گرفتن مقادیر رشته ای از ادیت تکست که اسم توش نوشته شده
int age = Integer.parseInt(edt_age.getText().toString()); // گرفتن عدد که از جنس int هست

Intent intent = new Intent(MainActivity.this , SecondActivity.class);
intent.putExtra("DATA" , data);
intent.putExtra("AGE" , age);
MainActivity.this.startActivity(intent);
}
});

خب کارمون در اکتویتی اول تمام شد . حالا اکتویتی بعدی رو باز کنید و اگر در لی اوت مربوطش از textView استفاده کردین (برای ست کردن مقادیر از اکتویتی اول) ، پس مثل دکمه یا ادیت تکست یا هر ویووی دیگه تعریف کنید و با کلاس Bundle داده رو میگیرید...

به کد زیر توجه کنید ..


TextView txt_bundle = (TextView) findViewById(R.id.txt_bundle);

Bundle bundle = getIntent().getExtras(); //گرفتن extras

String data = bundle.getString("DATA"); //گرفتن دادی از جنس string
int age = bundle.getInt("AGE"); // گرفتن داداه از جنس int

txt_bundle.setText(data + " , " + age); ست کردن مقادیر در textView برای نمایش










  • و تمام انمیدوارم مفید باشه  . موفق باشید .
+3 0
بله پاسخشون کامل و قابل فهم بود...اما استاد توی پکیج اموزشی قدیم بصورت تصویری چنین مبحثی رو دارند و برای متوجه شدن و درک کردن این موضوع میتونید ببینید-در قسمت پنجم بخش اول اموزش قدیم(اگر پکیج رو خریدید البته) لینک (9 سال پیش)
+1 0
عالی بود مرسیییی (9 سال پیش)
+1 0
یه سوال دیگه چطور میتونم تکست ویو یا ادیت تکست رو حالت شناور بدم و کل دکمه و .... ؟؟؟؟؟؟ (9 سال پیش)
+1 0
خواهش میکنم. ولی منظورتون از شناور چیه ؟ با متریال امکان داره ، مثلا fab یا ... ، دقیقا منظور شما چیست ؟ (9 سال پیش)
+1 0
نمیخوام با متریال دیزاین این کار رو بکنم چون برای ورژن های پایین هم میخوام یعنی تکست ویو وقتی لمس میکنی و فشار میدی بتونی جابجاش کنی (9 سال پیش)
+1 0
بشه این تکست ویو رو جابجا کرد و مثل کوچیک کردن و بزرگ کردن دو انگشتی عکس به تکست ویو هم همین حالت رو داد (9 سال پیش)
+1 0
خب نمیدونم بدون متریال چجوره ولی امکان پذیره . یه عنوان سوال مطرح کنید و از دوستان بپرسید . حنما کسی هست که بلد باشه . موفق باشید (9 سال پیش)
+1 0
شاید اینها مناسبتون باشه : لینک + لینک + لینک + لینک (9 سال پیش)
0 0
مرسی دوستان (9 سال پیش)
0 0
float dX, dY; @Override public boolean onTouch(View view, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: dX = view.getX() - event.getRawX(); dY = view.getY() - event.getRawY(); break; case MotionEvent.ACTION_MOVE: view.animate() .x(event.getRawX() + dX) .y(event.getRawY() + dY) .setDuration(0) .start(); break; default: return false; } return true; } (9 سال پیش)
پاسخ به سوال 
صالحی  9 سال پیش
0 0

 
float dX, dY;

@Override
public boolean onTouch(View view, MotionEvent event) {

    switch (event.getAction()) {

        case MotionEvent.ACTION_DOWN:

            dX = view.getX() - event.getRawX();
            dY = view.getY() - event.getRawY();
            break;

        case MotionEvent.ACTION_MOVE:

            view.animate()
                    .x(event.getRawX() + dX)
                    .y(event.getRawY() + dY)
                    .setDuration(0)
                    .start();
            break;
        default:
            return false;
    }
    return true;
}
پاسخ به سوال 
صالحی  9 سال پیش
0 0

الان این کد رو چطور به تکست ویو بدم ؟؟؟؟

پاسخ به سوال 
Reza  9 سال پیش
+1 0

سلام ، اگه کاستوم کنترل انداختین داخل صفحه ، کافیه در همون کلاس کاستوم این متد رو override کنین ( بدون نیاز به پارامتر View ) :

 @Override
    public boolean onTouchEvent(MotionEvent event) {
        switch (event.getAction()) {

            case MotionEvent.ACTION_DOWN:

                dX = getX() - event.getRawX();
                dY = getY() - event.getRawY();
                break;

            case MotionEvent.ACTION_MOVE:

                animate()
                        .x(event.getRawX() + dX)
                        .y(event.getRawY() + dY)
                        .setDuration(0)
                        .start();
                break;
            default:
                return false;
        }
        return true;
 }

 

اما اگه کنترل خود اندروید هست به این صورت استفاده میشه :

 txt.setOnTouchListener(new OnTouchListener() {
            
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {

                    case MotionEvent.ACTION_DOWN:

                        dX = v.getX() - event.getRawX();
                        dY = v.getY() - event.getRawY();
                        break;

                    case MotionEvent.ACTION_MOVE:

                        v.animate()
                                .x(event.getRawX() + dX)
                                .y(event.getRawY() + dY)
                                .setDuration(0)
                                .start();
                        break;
                    default:
                        return false;
                }
                return true;
            }
 });
0 0
مرسی چک میکنم ببینم چی به چیه (9 سال پیش)
0 0
کلاس که من ایجاد کردم یک اکتیویتی ساده و یک تکست ویو رو داخل لایه رلاتیو گذاشتم و میخوام این تکست ویو وقتی رووش لانگ کلیک شد حالت درگ و دراپ داشته باشه و جاباجا شه (9 سال پیش)
+1 0
implements OnTouchListener اینو به اکتیویتی اضافه کردم .مرسی حل شده (9 سال پیش)
0 0
چند تا سوال دیگه هم دارم ایرادی نداره بپرسم ؟؟ (9 سال پیش)
+1 0
بپرسین ، هر کی بتونه جواب میده . (9 سال پیش)
0 0
میخوام در یک ایکس ام ال یه دکمه بزارم و اونو در اکتیوتی خودش فراخونی کنم وقتی دکمه رو میزنم یه ایکس ام ال شفاف ظاهر شه که بشه عملیاتی در اون ایکس ام ال انجام بدم و وقتی در ایکس ام ال دوم دکمه اوکی رو زدم اظلاعات وارد ایکس ام ال اول شه . ممنون میشم راهنمایی کنید . (9 سال پیش)
+1 0
با استفاده از Dialog میتونید این کار رو انجام بدید (9 سال پیش)
0 0
یه سوال دیگه داشتم. یه دکمه ای که میاد از یه لایه و محتویات درونش اسکرین میگیره و ارسال میکنه .. داخل این لایه یه متن باید وارد شه . مثلا یه داده ای میاد تو این تکست چه کدی باید بنویسم که وقتی درون تکست وی چیزی نیومده و کاربر دکمه ارسال رو زد . چک شه که اگه اطلاعاتی وارد نشد یه پیام براش بیاد که اول داده ها باید وارد شن و بعد اقدام به ارسال شه (9 سال پیش)
+1 0
خب با if ساده میتونید محتویات اون ادیت تکست یا تکست وویو رو بگیرید و شرط بذارید اگه خالی بود یه پیغام مثلا toast نشون داده شه که اول فیلد ها رو پر کن در غیر اینصورت مجاز به ادامه ی کار نخواهی بود . اگه منظورتون رو متوجه شدم باشم همین کارتونو راه میندازه خیلی راحت . ولی اگه چیز دیگه مد نظرت هست بیشتر توضیح بده که دوستان یا من بیشتر کمکت کنیم. موفق باشید (9 سال پیش)
پاسخ به سوال 
صالحی  9 سال پیش
0 0

  public void click (){
img_send.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (!(txt_matn== null)) {
Toast.makeText(getApplicationContext(), "لطفا اول متن را وارد کنید.", Toast.LENGTH_LONG).show();
}
else {
String FileName = SaveScreenshot();
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(FileName));
startActivity(Intent.createChooser(intent, getString(R.string.ShareBy)));
}

}
});




این کد رو گذاشتم
ولی همیشه toast را نشون میده
0 0
حل شد . اومدم یه int flag =0; کلی تعریف کردم و بعد در قسمت گرفتن متن flag رو برابر یک کردم , و در قسمت ارسال if تعریف کردم و کفتم اگه flag برابر صفر بود یه پیغام بفرست غیر این اسکرین بگیر و بفرست (9 سال پیش)
0 0
یه سوال داشتم تقریبا شبیه قبل چطور باید کد نویسی کنم تکست وی در حالت عادی خالیه هر وقت مقدار ش تغییر کرد یه عملی انجام شه . مثلا اگر تکست ویو برابر مقدار اولیه فلان کار شه و غیر این که تغییر کرد فلان کار شه (9 سال پیش)
پاسخ به سوال 
Miaad  9 سال پیش
0 0

راه انتقال همین نوع اطلاعات از اکتیوتی به یک فرگمنت چیه کسی میدونه ؟؟؟!!! نمیخوام از استارت اکتیوتی استفاده کنم که ارور نال اکسپشن بده !!! با گت آرگومان و ست ارگومان کار میکنم بازم همین ارور نال ابجکت رفرنس میده کسی راه حلی داره ؟!!!!


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .