نمایش نتایج 1 تا 4 از 4

نام تاپیک: فراخوانی کلاس در اکتیویتی

  1. #1

    فراخوانی کلاس در اکتیویتی

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

    public class MainActivity extends AppCompatActivity {
    TextView tv;
    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    در این قسمت فراخوانی کردم Form_test form = new Form_test(this, R.id.layout_form_info);


    file form_test

    public class form_test implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
    private Activity activity;
    private LinearLayout layoutForminfo;
    private EditText inputName;
    private EditText inputEmail;
    private EditText inputphone;
    private CheckBox cbSharephone;
    private Button btnsubmit;
    public form_test(Activity activity,int layoutid){
    this.activity = activity;
    اطلاعات فرم وارد این قسمت نمیشه layoutForminfo = activity.findViewById(layoutid);
    init();
    }

  2. #2

    نقل قول: فراخوانی کلاس در اکتیویتی

    نقل قول نوشته شده توسط bijar985 مشاهده تاپیک
    سلام دوستان ممنون میشم لطف کنید یه راهنمایی کنید
    من یک فرم را درست کردم بعد میخام در mainactivity کلاس آن فرم را صدا بزنم ولی داده داخل کلا س ننمیاد وارور میده
    mainactivitiy

    public class MainActivity extends AppCompatActivity {
    TextView tv;
    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    در این قسمت فراخوانی کردم Form_test form = new Form_test(this, R.id.layout_form_info);


    file form_test

    public class form_test implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
    private Activity activity;
    private LinearLayout layoutForminfo;
    private EditText inputName;
    private EditText inputEmail;
    private EditText inputphone;
    private CheckBox cbSharephone;
    private Button btnsubmit;
    public form_test(Activity activity,int layoutid){
    this.activity = activity;
    اطلاعات فرم وارد این قسمت نمیشه layoutForminfo = activity.findViewById(layoutid);
    init();
    }
    اگر پیغام خطا را پست میکردید بهتر بود!
    ولی در هر حال نباید مشکلی باشه وقتی دارید اکتیویتی را از طریق DI تزریق میکنید باید به راحتی به همه لایه هایی که در setContentView اکتیویتی کلاس اصلی مشخص کردید باید در کلاسی هم که در ترکیب شرکت داره دسترسی داشته باشه مگر اینکه نوع R.id.layout_form_info که دارید ارسال میکنید از نوع LinearLayout نباشه یعنی باید در لایه اصلیR.layout.activity_main هم نوعش LinearLayout باشه!
    والبته اون متد init() هم چون پیاده سازیش را نذاشتید نمی دونم ایراد داره یا خیر!

  3. #3

    نقل قول: فراخوانی کلاس در اکتیویتی

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    اگر پیغام خطا را پست میکردید بهتر بود!
    ولی در هر حال نباید مشکلی باشه وقتی دارید اکتیویتی را از طریق DI تزریق میکنید باید به راحتی به همه لایه هایی که در setContentView اکتیویتی کلاس اصلی مشخص کردید باید در کلاسی هم که در ترکیب شرکت داره دسترسی داشته باشه مگر اینکه نوع R.id.layout_form_info که دارید ارسال میکنید از نوع LinearLayout نباشه یعنی باید در لایه اصلیR.layout.activity_main هم نوعش LinearLayout باشه!
    والبته اون متد init() هم چون پیاده سازیش را نذاشتید نمی دونم ایراد داره یا خیر!
    سلام از توجهتون ممنونم
    اینمerror
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.payam.fristproject/com.example.payam.fristproject.MainActivity}: java.lang.ClassCastException: android.widget.RelativeLayout cannot be cast to android.widget.LinearLayout

    Caused by: java.lang.ClassCastException: android.widget.RelativeLayout cannot be cast to android.widget.LinearLayout
    at com.example.payam.fristproject.form_test.<init>(fo rm_test.java:22)
    at com.example.payam.fristproject.MainActivity.onCrea te(MainActivity.java:28)

    تابع init()


    private void init() {
    if(LayoutFormInfo == null){
    return;
    }
    inputName = (EditText) LayoutFormInfo.findViewById(R.id.input_name);
    inputEmail = (EditText) LayoutFormInfo.findViewById(R.id.input_email);
    inputphone = (EditText) LayoutFormInfo.findViewById(R.id.input_phone1);
    cbshare = (CheckBox)LayoutFormInfo.findViewById(R.id.checkBox1);
    btnSubmit =(Button) LayoutFormInfo.findViewById(R.id.submit);
    btnSubmit.setOnClickListener(this);
    cbshare.setOnCheckedChangeListener(this);
    }
    آخرین ویرایش به وسیله bijar985 : یک شنبه 07 مرداد 1397 در 14:54 عصر

  4. #4

    نقل قول: فراخوانی کلاس در اکتیویتی

    android.widget.RelativeLayout cannot be cast to android.widget.LinearLayout
    در پست قبلی هم که عرض کردم دارید یک layout که از نوع LinearLayout هست را فراخوانی میکنید در صورتی که در لایه اصلی فرم نوع R.id.layout_form_info این کنترل RelativeLayout هست نوع ها را یکی کنید مشکل رفع میشه!

تاپیک های مشابه

  1. فراخوانی کلاس در jsp
    نوشته شده توسط parnian~parnian در بخش Java EE : نگارش سازمانی جاوا
    پاسخ: 12
    آخرین پست: پنج شنبه 25 آبان 1391, 22:00 عصر
  2. فراخوانی کلاس در سی شارپ
    نوشته شده توسط sony1983 در بخش C#‎‎
    پاسخ: 9
    آخرین پست: یک شنبه 03 اردیبهشت 1391, 11:55 صبح
  3. سوال: فراخوانی کلاس در رویداد onclick مربوط به button
    نوشته شده توسط RoostaYeBekr در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: چهارشنبه 02 آذر 1390, 04:44 صبح
  4. سوال: فراخوانی کلاس در آغاز برنامه
    نوشته شده توسط saba106 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: شنبه 08 اسفند 1388, 07:57 صبح
  5. مشکل با فراخوانی کلاس در پوشه های پائین تر روت با usebean
    نوشته شده توسط mati_suni در بخش برنامه‌نویسی جاوا
    پاسخ: 3
    آخرین پست: سه شنبه 14 اسفند 1386, 17:19 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •