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

با سلام. من یک دکمه رویه 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);
    }

            }

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 6 سال پیش

سلام

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

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

sokanacademy forum
کاربر سکان آکادمی 6 سال پیش

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

sokanacademy forum
کاربر سکان آکادمی 6 سال پیش

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

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

sokanacademy forum
کاربر سکان آکادمی 6 سال پیش

سلام. دوباره سورس کدهامو طبق آموز های آقای مرادی تنظیم کردم. ولی روی دکمه کلیک میکنم هیچ کاری انجام نمیده. تو قسمت 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);



    }



}
sokanacademy forum
کاربر سکان آکادمی 6 سال پیش

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

sokanacademy forum
کاربر سکان آکادمی 6 سال پیش

سلام. 

چند مورد:

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

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

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

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

sokanacademy forum
کاربر سکان آکادمی 6 سال پیش

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

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);
            }
          });
    }
sokanacademy forum
کاربر سکان آکادمی 6 سال پیش

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

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

online-support-icon