ahmad316948

مشکل در رفتن از یک اکتیویتی به اکتیویتی دیگر با Intent

ahmad316948 ۱۳۹۷/۰۵/۲۱ 143 مباحث عمومی برنامه‌نویسی

با سلام. من یک دکمه رویه UI برنامه گذاشتم و تو قسمت onCliCk  یه اسم گذاشتم و سورس کدهامم طبق آموزش های سایت معتبر درست نوشتم ولی وقتی رویه دکمه کلیک می کنم از برنامه خارج میشه.

import android.content.Intent;
import android.support.annotation.IdRes;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class First_activity extends AppCompatActivity {
    Button btn1;
    Button btnKasb_kar;


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

    public void goTokharid_forooshsh(View v) {
        Intent kharid = new Intent(First_activity.this, kharid_foroosh.class);
        startActivity(kharid);
    }

            }

پاسخ‌ها به این تاپیک
amir hossein gholizadeh
amir hossein gholizadeh
۱۳۹۷/۰۵/۲۱

سلام نکته مهمی که هست اینه که تو دوتا سورس کدی که گذاشتی ایونت کلیک تو onCreate نبود که باید باشه

دوم اینکه مطمئن شو button مورد نظرت درست آدرس دهی شده باشه و بهتره از متد setOnClickListener استفاده کنی

matin soleimani
matin soleimani
۱۳۹۷/۰۵/۲۱

سلام ، از این کدی که گذاشتم استفاده کن، این درسته ، امیدوارم مشکل رو حل کنه.

import android.content.Intent;
import android.support.annotation.IdRes;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class First_activity extends AppCompatActivity {
    Button btn1;
    Button btnKasb_kar;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
        btnKasb_kar = findViewById(R.id.btnKasb_kar);

        btnKasb_kar.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
              Intent intent = new Intent(First_activity.this, kharid_foroosh.class);
              startActivity(intent);
            }
          });
    }
Mehdi
Mehdi
۱۳۹۷/۰۵/۲۱

سلام. 

چند مورد:

1) دکمه ای که استفاده کردید رو باید در قسمت onCreate با استفاده از findviewById اصطلاحا bind کنید.

2) نیازی نیست view رو به تابع goTokharid_forooshsh ارسال کنید.

3) فانکشن رو هم حتما صدا بزنید درون setOnClickListener که در onCreate نوشتید.

4) دقت کنید که اکتیویتی دومتون رو هم در manifest تعریف کنید( اگر تعریف نشده به صورت پیش فرض)   

امین ظاهردَنّاک
امین ظاهردَنّاکاندروید دولوپر، مترجم
۱۳۹۷/۰۵/۲۱

سلام

اررورها و وارنینگهایی که توی Logcat اندروید استودیو هست رو هم بذار عزیز.

(ترجیحا قبل از کلیک روی دکمه هم محتویات Logcat رو clear کن و بعدش کلیک کن که صرفا لاگهای بعد از کلیک توش باشه)

ahmad316948
ahmad316948
۱۳۹۷/۰۵/۲۱

داداش من رویه گوشیم تست میگیرم. خطایی تویه Logcat نشون نمیده.( قبلا اکه جایی از برنامه اشکال داشت اصلا برنامه رو رویه گوشی اجرا نمی کرد)

در پاسخ به

سجاد ایوبی
سجاد ایوبیدولوپر اندروید، یادگیری ماشین
۱۳۹۷/۰۵/۲۱

فرقی نمیکنه روی دیوایس 

واقعی هم ارور رو می تونی توی لاگ کت ببینی

در پاسخ به

ahmad316948
ahmad316948
۱۳۹۷/۰۵/۲۱

سلام. دوباره سورس کدهامو طبق آموز های آقای مرادی تنظیم کردم. ولی روی دکمه کلیک میکنم هیچ کاری انجام نمیده. تو قسمت run پایین صفحه این نوشته: 
$ adb shell am start -n "com.example.np.myapp/com.example.np.myapp.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Client not ready yet..Connected to process 12792 on device huawei-huawei_vns_l21-BUC4C16A15025273

اینم سورس کدهام:

package com.example.np.myapp;

        import android.content.Intent;
        import android.support.annotation.IdRes;
        import android.support.v7.app.AppCompatActivity;
        import android.os.Bundle;
        import android.view.View;
        import android.widget.Button;

public class First_activity extends AppCompatActivity {
    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent myintent = new Intent(First_activity.this, kariForsooth.class);
            startActivity(myintent);

        }
    };


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

        Button kharid = (Button) findViewById(R.id.btn_kharid_foroosh);
        kharid.setOnClickListener(listener);



    }



}

در پاسخ به

ahmad316948
ahmad316948
۱۳۹۷/۰۵/۲۱

کسی نیست کمک کنه؟

در پاسخ به