mbpourya

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

5 ارسال در این موضوع قرار دارد

سلام

بنده یه 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]

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری