انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل خیلی فوری در مورد fragment

مشکل خیلی فوری در مورد fragment

#1
سلام ببخشید من هی سوال میپرسم
یه مشکل عجیب و غریب دارم
من با استفاده از 3 فرگمنت تونستم  (TAB) های متریل بسازم
حالا من می خوام وقتی متد onclick تعریف کنم داخل کلاس خودش نمیشه و ایراد میگیره
حالا تو MainActivity هم میزارم stopid working میده میاد بیرون راه حلی بدید ...... Huh Huh Huh Huh
OneFragment:
کد:
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.CardView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.widget.CardView;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View.OnClickListener;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.widget.Button;

import ir.javanalmasi.hossein.tarfanddoni.R;


public class OneFragment extends Fragment{


   public OneFragment() {
       // Required empty public constructor


   }

   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
   }





   @Override
   public View onCreateView(LayoutInflater inflater, ViewGroup container,
                            Bundle savedInstanceState) {
       // Inflate the layout for this fragment
       return inflater.inflate(R.layout.fragment_one, container, false);
   }

}


MainActivity:
کد:
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.widget.CardView;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View.OnClickListener;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;

import java.util.ArrayList;
import java.util.List;

import ir.javanalmasi.hossein.tarfanddoni.R;
import ir.javanalmasi.hossein.tarfanddoni.OneFragment;
import ir.javanalmasi.hossein.tarfanddoni.ThreeFragment;
import ir.javanalmasi.hossein.tarfanddoni.TwoFragment;



public class MainActivity extends AppCompatActivity
       implements NavigationView.OnNavigationItemSelectedListener {

   private Toolbar toolbar;
   private TabLayout tabLayout;
   private ViewPager viewPager;

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


       Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
       setSupportActionBar(toolbar);
       getSupportActionBar().setDisplayHomeAsUpEnabled(false);


       viewPager = (ViewPager) findViewById(R.id.viewpager);
       setupViewPager(viewPager);

       tabLayout = (TabLayout) findViewById(R.id.tabs);
       tabLayout.setupWithViewPager(viewPager);


       FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
       fab.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
               Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                       .setAction("Action", null).show();
           }
       });
       DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
       ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
               this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
       drawer.setDrawerListener(toggle);
       toggle.syncState();

       NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
       navigationView.setNavigationItemSelectedListener(this);


   }



   private void setupViewPager(ViewPager viewPager) {
       ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
       adapter.addFragment(new OneFragment(), "تلفن همراه");
       adapter.addFragment(new TwoFragment(), "رایانه شخصی");
       adapter.addFragment(new ThreeFragment(), "برگزیده ها");
       viewPager.setAdapter(adapter);
   }

class ViewPagerAdapter extends FragmentPagerAdapter {
   private final List<Fragment> mFragmentList = new ArrayList<>();
   private final List<String> mFragmentTitleList = new ArrayList<>();

   public ViewPagerAdapter(FragmentManager manager) {
       super(manager);
   }

   @Override
   public Fragment getItem(int position) {
       return mFragmentList.get(position);
   }

   @Override
   public int getCount() {
       return mFragmentList.size();
   }

   public void addFragment(Fragment fragment, String title) {
       mFragmentList.add(fragment);
       mFragmentTitleList.add(title);
   }

   @Override
   public CharSequence getPageTitle(int position) {
       return mFragmentTitleList.get(position);
   }
}






   @Override
   public void onBackPressed() {
       DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
       if (drawer.isDrawerOpen(GravityCompat.START)) {
           drawer.closeDrawer(GravityCompat.START);
       } else {
           super.onBackPressed();
       }
   }


   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
       // Inflate the menu; this adds items to the action bar if it is present.
       getMenuInflater().inflate(R.menu.main, menu);
       return true;
   }

   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
       // Handle action bar item clicks here. The action bar will
       // automatically handle clicks on the Home/Up button, so long
       // as you specify a parent activity in AndroidManifest.xml.
       int id = item.getItemId();

       //noinspection SimplifiableIfStatement
       if (id == R.id.action_settings) {
           return true;
       }

       return super.onOptionsItemSelected(item);
   }

   @SuppressWarnings("StatementWithEmptyBody")
   @Override
   public boolean onNavigationItemSelected(MenuItem item) {
       // Handle navigation view item clicks here.
       int id = item.getItemId();

       if (id == R.id.nav_camera) {

               AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this,R.style.MyDialogTheme);
               builder.setTitle("درباره ما");
               builder.setMessage("javan app" +"\n"+"\n"+

                       "برنامه نویس و طراح :" +
                       "حسین جوان الماسی" +"\n"+"\n"+
                       "برای ارتباط با ما " +"\n"+"\n"+
                       "بر روی گزینه ارتباط با ما کلیک کنید");

               String positiveText = "باشه";
               builder.setPositiveButton(positiveText,
                       new DialogInterface.OnClickListener() {
                           @Override
                           public void onClick(DialogInterface dialog, int which) {
                               // positive button logic
                           }
                       });


               AlertDialog dialog = builder.create();
               // display dialog
               dialog.show();


       } else if (id == R.id.nav_gallery) {


           Intent intent = new Intent(Intent.ACTION_VIEW);
           intent.setData(Uri.parse("bazaar://collection?slug=by_author&aid=hosseinjavanalmasi"));
           intent.setPackage("com.farsitel.bazaar");

           startActivity(intent);
       } else if (id == R.id.nav_slideshow) {
           AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this,R.style.MyDialogTheme);
           builder.setTitle("ارتباط با ما");
           builder.setMessage("javan app" +"\n"+"\n"+
                  "email:hossein.j.a.hja@gmail.com "+"\n"+"\n"+

                   "telegram ID:@hosseinjavanalmasi" + "\n"+"\n");

           String positiveText = "باشه";
           builder.setPositiveButton(positiveText,
                   new DialogInterface.OnClickListener() {
                       @Override
                       public void onClick(DialogInterface dialog, int which) {
                           // positive button logic
                       }
                   });


           AlertDialog dialog = builder.create();
           // display dialog
           dialog.show();
       } else if (id == R.id.nav_share) {

       } else if (id == R.id.nav_send) {
           Intent intent = new Intent(Intent.ACTION_EDIT);
           intent.setData(Uri.parse("bazaar://details?id=ir.javanalmasi.hossein.tarfanddoni"));
           intent.setPackage("com.farsitel.bazaar");
           startActivity(intent);
       }

       DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
       drawer.closeDrawer(GravityCompat.START);
       return true;
   }

}
Huh Huh Huh
آدم ها سه دسنه اند :
Explanation موفق - با تلاش - بدون امید Explanation
پاسخ

مشکل خیلی فوری در مورد fragment

#2
خب اول در OneFragment.java :

OnClickListener رو در كلاس اصليتون،implements كنيد
بعدش در متد onCreateVieW
ي كليد تعريف كنيد و متد onClick رو براش بنويسيد
شيوه تعريف باتن هم كمي با اكتيويتي اصلي فرق داره،همانطور ك تعريف layout هم فرق داشت
موفق باشيد
پاسخ

مشکل خیلی فوری در مورد fragment

#3
(۱۳۹۵/۰۷/۱۱, ۰۱:۳۴ ق.ظ)so2011 نوشته: خب اول در OneFragment.java :

OnClickListener رو در كلاس اصليتون،implements كنيد
بعدش در متد onCreateVieW
ي كليد تعريف كنيد و متد onClick رو براش بنويسيد
شيوه تعريف باتن هم كمي با اكتيويتي اصلي فرق داره،همانطور ك تعريف layout هم فرق داشت
موفق باشيد

ممنون اما من هیچی نفهمیدم از حرفاتون نمونه کدی چیزی ندارین ....
آدم ها سه دسنه اند :
Explanation موفق - با تلاش - بدون امید Explanation
پاسخ

مشکل خیلی فوری در مورد fragment

#4
خیلی ممنون از سایت خوب و اقا ادمین گل بالا خره حل شد
داشتم تو سایتتون میشگتم دیدم یک دسته کلد به نا fragment هست رفتم توش و مشکلم حل شد ....
http://www.kelidestan.com/keys/categorie...ategory=20
آدم ها سه دسنه اند :
Explanation موفق - با تلاش - بدون امید Explanation
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان