رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

شنونده کلیک برای آیتم های لیست ویو


پست های پیشنهاد شده

سلام

بنده یه navigation drawer درست کردم که کدهای  فایل جاوا و لایه اصلی و لایه استرینگهامو واستون میزارم این پایین اگه امکان راهنماییم کنید که برای هر آیتم چطوری میتونم یه شنونده کلیک مثل دکمه براشون تعریف کنم؟

در واقع این منو رو ساختم که یه سری دکمه های روی لایه اصلی رو دیگه نزارم و بجاش اونهارو توی منو ایجاد کنم(مثل نمایش دادن علاقه ها و رفتن به صفحه جستجو و...)

البته این کدها به صورت امتحانی در یه پروژه جدید هست.

امیدوارم بد توضیح نداده باشم

MainActivity.java

[shcode=java]

import android.support.v4.app.ActionBarDrawerToggle;

import android.support.v4.widget.DrawerLayout;

import android.support.v7.app.ActionBarActivity;

import android.content.Context;

import android.os.Bundle;

import android.view.Gravity;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.Toast;

public class MainActivity extends ActionBarActivity {

private String[] mPlanetTitles;

    private DrawerLayout mDrawerLayout;

    private ListView mDrawerList;

    private ActionBarDrawerToggle mDrawerToggle;

    String dokme_txt= "test";

private Context context;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        

        

        

        

        //Codhaye Marboot be ActionBar

        View actionBarView = getLayoutInflater().inflate(R.layout.actionbar_view , null);

        getSupportActionBar().setNavigationMode(android.support.v7.app.ActionBar.DISPLAY_SHOW_CUSTOM);

        getSupportActionBar().setDisplayOptions(android.support.v7.app.ActionBar.DISPLAY_SHOW_CUSTOM);   

        getSupportActionBar().setCustomView(actionBarView)  ;

     

     

        findViewById(R.id.actionbar_icon).setOnClickListener(new OnClickListener() {

            

            @Override

            public void onClick(View v) {

             //code marboot be dokmeye baz shodane menu

             mDrawerLayout.openDrawer(Gravity.RIGHT);                

            

            }

        });

        

        

 

        //sliding menu

     mPlanetTitles = getResources().getStringArray(R.array.dokmeha);

     mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

     mDrawerList = (ListView) findViewById(R.id.left_drawer);

     // Set the adapter for the list view

     mDrawerList.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1, mPlanetTitles));

     

     // Set the list's click listener

     mDrawerList.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> arg0, View arg1,

int post, long arg3) {

String dokme_txt = getResources().getStringArray(R.array.dokmeha);

Toast.makeText(getBaseContext(),"برروی "+dokme_txt+" کلیک شد", Toast.LENGTH_SHORT).show();

}

     

});

 

    

    }

    

     

     

}

[/shcode]

activity_main.xml

[shcode=xml]

    android:id="@+id/drawer_layout"

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

   

   

        android:id="@+id/content_frame"

        android:layout_width="match_parent"

        android:layout_height="match_parent" />

   

   

        android:id="@+id/left_drawer"

        android:layout_alignParentRight="true"

        android:layout_width="240dp"

        android:layout_height="match_parent"

        android:layout_gravity="right"

        android:choiceMode="singleChoice"

        android:divider="@android:color/transparent"

        android:dividerHeight="0dp"

        android:background="#ffffff"/>

[/shcode]

strings.xml

[shcode=xml]<?xml version="1.0" encoding="utf-8"?>

    are

    Hello world!

    Settings

    

   

        صفحه اصلی

        تنظیمات

        درباره ما

        خروج

   

[/shcode]

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

کدها خوانایی نداره یه سری کد اضافه داخلشه.قبل از گذاشتن کد توی نوت پد بذارین بعد توی تگ های مخصوص قرار بدین.

الان اون توست که داره به شما میگه کدوم ایتم کلیک شده مربوط به همین منو هست؟ اگه اره شما میتونین یا همین متغیر dokme_txt بررسی کنین اگه متغیر مثلا مساوی درباره ما بود بره به اکتیویتی درباره ما و ....

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

سلام دوست عزیز

کدها خوانایی نداره یه سری کد اضافه داخلشه.قبل از گذاشتن کد توی نوت پد بذارین بعد توی تگ های مخصوص قرار بدین.

الان اون توست که داره به شما میگه کدوم ایتم کلیک شده مربوط به همین منو هست؟ اگه اره شما میتونین یا همین متغیر dokme_txt بررسی کنین اگه متغیر مثلا مساوی درباره ما بود بره به اکتیویتی درباره ما و ....

عذر میخوام استاد عزیز 

دقیقا داخل تگ قرارش دادم نمیدونم چرا اینکدهای اضافه اومده!

من کد قسمت توست رو از یه سایت کپی کردم و به خاطر داشتن واژه فارسی توی کد باعث شده نتونم تشخیص بدم باید چیکار کنم!

اگه ممکنه شما یک قطعه کد که بتونه برای هر آیتم یه شنونده کلیک ایجاد کنه(به طور مثال بره به یه لایه دیگه) رو به من بدید ممنون میشم چون این چیزی که من ازین کد فهمیدم برای همه ی آیتمها یک خاصیت رو تعریف کرده، نه هر آیتم به صورت جداگانه...

[shcode=java]

package com.example.are;

import android.support.v4.app.ActionBarDrawerToggle;

import android.support.v4.widget.DrawerLayout;

import android.support.v7.app.ActionBarActivity;

import android.content.Context;

import android.os.Bundle;

import android.view.Gravity;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.Toast;

public class MainActivity extends ActionBarActivity {

private String[] mPlanetTitles;

    private DrawerLayout mDrawerLayout;

    private ListView mDrawerList;

    private ActionBarDrawerToggle mDrawerToggle;

    String dokme_txt= "test";

private Context context;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        

        

        

        

        //Codhaye Marboot be ActionBar

        View actionBarView = getLayoutInflater().inflate(R.layout.actionbar_view , null);

        getSupportActionBar().setNavigationMode(android.support.v7.app.ActionBar.DISPLAY_SHOW_CUSTOM);

        getSupportActionBar().setDisplayOptions(android.support.v7.app.ActionBar.DISPLAY_SHOW_CUSTOM);   

        getSupportActionBar().setCustomView(actionBarView)  ;

     

     

        findViewById(R.id.actionbar_icon).setOnClickListener(new OnClickListener() {

            

            @Override

            public void onClick(View v) {

             //code marboot be dokmeye baz shodane menu

             mDrawerLayout.openDrawer(Gravity.RIGHT);                

            

            }

        });

        

        

 

        //sliding menu

     mPlanetTitles = getResources().getStringArray(R.array.dokmeha);

     mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

     mDrawerList = (ListView) findViewById(R.id.left_drawer);

     // Set the adapter for the list view

     mDrawerList.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1, mPlanetTitles));

     

     // Set the list's click listener

     mDrawerList.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> arg0, View arg1,

int post, long arg3) {

String dokme_txt = getResources().getStringArray(R.array.dokmeha);

Toast.makeText(getBaseContext(),"برروی "+dokme_txt+" کلیک شد", Toast.LENGTH_SHORT).show();

}

     

});

 

    

    }

    

     

     

}

[/shcode]

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

دوست عزیز شما می تونین بجای همین خط

[shcode=java]Toast.makeText(getBaseContext(),"برروی "+dokme_txt+" کلیک شد", Toast.LENGTH_SHORT).show();[/shcode]

اینجوری بنویسین

[shcode=java]if(dokme_txt.equals("درباره ما")==true){

finish();

startActivity(new Intent(main.this,about.class));

}[/shcode]

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...