آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

استفاده از ActionBar در پروژه GoogleMap

reza1234  10 سال پیش  10 سال پیش
+2 0

با سلام

بنده میخوام در پروژه گوگل مپی که آقای آقا جانی در فایلهای آموزشی ارائه کردن (Geo Location) - بخش 03-17 از ActionBar

استفاده کنم ممکنه راهنمایی بفرمایید؟(روی API 7) یعنی میخوام اکشن بار تو همه ورژنها کار کنه(اندروید 2.1 به بالا)

کارهایی که انجام دادم :

1- ساخت پروژه     Google API 2.1 در اکلیپس

2- اضافه کردن Support Library ورژن  7 و تغییرات لازمه در منیفست لایبرری و پروژه

اما هر کار میکنم رياR.java ساخته نمیشه در ضمن ورژن ADT وSDK که استفاده میکنم همونی است که آقای آقاجانی توی آموزشها قرار دادن

با تشکر

0 0
اولا، ورژن api خودتون رو ارتقا بدین. اندروید 2.2 دیگه مناسب برنامه نویسی نیست در حال حاضر. api رو ببر روی ورژن 4. دوما، اکشن بار منسوخ شده دوست عزیز. از تولبار استفاده کنید (10 سال پیش)
0 0
با تشکر از راهنمایی شما جناب آقای منصوری ولی بنده دارم یه برنامه ای مینویسم که نمیخوام فقط روی یکسری خاصی از ورژنهای اندروید کار کنه بهمین منظور این سوالو مطرح کردم. آیا تولبار هم مشکل اکشن بار رو داره؟ (10 سال پیش)
0 0
نه خیر. تولبار خیلی انعطاف پذیره. (10 سال پیش)
0 0
آموزش کار با اکشن بار لینک (10 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
reza1234  10 سال پیش
0 0

با سلام

مشکل تا حدودی حل شده فقط روی ورژنهای پایین کار نمیکنه( موقع باز کردن منو برنامه فورس کلوز میشه)

پاسخ به سوال 
reza1234  10 سال پیش
0 0

سلام

دوستان کسی میدونه چرا این کد روی اندروید 2.2 کار نمیکنه ولی روی اندروید 4. کار میکنه

در واقع هدف استفاده از اکشن بار تو ورژنهای پایین اندروید بوده;


================ MainActivity
import java.util.ArrayList;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
public class ActionBarApi8Activity extends ActionBarActivity implements ActionBar.OnNavigationListener
{
    // action bar
    private ActionBar                 actionBar;
    // Title navigation Spinner data
    private ArrayList<SpinnerNavItem> navSpinner;
    // Navigation adapter
    private TitleNavigationAdapter    adapter;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        actionBar = getSupportActionBar();
        // Hide the action bar title
        actionBar.setDisplayShowTitleEnabled(false);
        // Enabling Spinner dropdown navigation
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
        // Spinner title navigation data
        navSpinner = new ArrayList<SpinnerNavItem>();
        navSpinner.add(new SpinnerNavItem("Local", R.drawable.ic_launcher));
        navSpinner.add(new SpinnerNavItem("My Places", R.drawable.ic_launcher));
        navSpinner.add(new SpinnerNavItem("Checkins", R.drawable.ic_launcher));
        navSpinner.add(new SpinnerNavItem("Latitude", R.drawable.ic_launcher));
        // title drop down adapter
        adapter = new TitleNavigationAdapter(getApplicationContext(), navSpinner);
        // assigning the spinner navigation 

           actionBar.setListNavigationCallbacks(adapter, this);
     }
    @Override
    public boolean onNavigationItemSelected(int itemPosition, long itemId)
    {
        // TODO Auto-generated method stub
        return false;
    }
}

=============================== Class TitleNavigationAdapter

package com.r.h.app.acb;

import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class TitleNavigationAdapter extends BaseAdapter {

    private ImageView                 imgIcon;
    private TextView                  txtTitle;
    private ArrayList<SpinnerNavItem> spinnerNavItem;
    private Context                   context;
    public TitleNavigationAdapter(Context context,
                                  ArrayList<SpinnerNavItem> spinnerNavItem) {
        this.spinnerNavItem = spinnerNavItem;
        this.context = context;
    }

    @Override
    public int getCount() {
        return spinnerNavItem.size();
    }
    @Override
    public Object getItem(int index) {
        return spinnerNavItem.get(index);
    }
    @Override
    public long getItemId(int position) {
        return position;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            LayoutInflater mInflater = (LayoutInflater)
                    context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
            convertView = mInflater.inflate(R.layout.list_item_title_navigation, null);
        }
        imgIcon = (ImageView) convertView.findViewById(R.id.imgIcon);
        txtTitle = (TextView) convertView.findViewById(R.id.txtTitle);

        imgIcon.setImageResource(spinnerNavItem.get(position).getIcon());
        imgIcon.setVisibility(View.GONE);
        txtTitle.setText(spinnerNavItem.get(position).getTitle());
        return convertView;
    }
    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            LayoutInflater mInflater = (LayoutInflater)
                    context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
            convertView = mInflater.inflate(R.layout.list_item_title_navigation, null);
        }
        imgIcon = (ImageView) convertView.findViewById(R.id.imgIcon);
        txtTitle = (TextView) convertView.findViewById(R.id.txtTitle);
        imgIcon.setImageResource(spinnerNavItem.get(position).getIcon());
        txtTitle.setText(spinnerNavItem.get(position).getTitle());
        return convertView;
    }

}

=========================Class SpinnerNavItem

public class SpinnerNavItem {

    private String title;
    private int    icon;
    public SpinnerNavItem(String title, int icon) {
        this.title = title;
        this.icon = icon;
    }
    public String getTitle() {
        return this.title;
    }
    public int getIcon() {
        return this.icon;
    }
}

===== list_item_title_navigation.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:padding="5dp" >
    
    <ImageView android:id="@+id/imgIcon"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/ic_launcher"
        android:layout_marginRight="5dp"
        />
         <TextView android:id="@+id/txtTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@id/imgIcon"/>
 </RelativeLayout>

==== ===================== AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.r.h.app.acb"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk android:minSdkVersion="8"
        android:maxSdkVersion="15"/>
    <application
         android:name=".RGlobal"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/MyThem">
        <activity
            android:name=".ActionBarApi8Activity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

============================== project.properties

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}\tools\proguard\proguard-android.txt:proguard-project.txt

# Project target.
target=android-15
android.library.reference.1=../android-support-v7-appcompat
================================= ٍError

FATAL EXCEPTION: main
java.lang.NullPointerException
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:458)
at android.view.View.measure(View.java:8171)
at android.support.v7.internal.widget.ListPopupWindow$DropDownListView.measureHeightOfChildrenCompat(ListPopupWindow.java:1323)
at android.support.v7.internal.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1062)
at android.support.v7.internal.widget.ListPopupWindow.show(ListPopupWindow.java:514)
at android.support.v7.internal.widget.SpinnerICS$DropdownPopup.show(SpinnerICS.java:758)
at android.support.v7.internal.widget.SpinnerICS.performClick(SpinnerICS.java:443)
at android.view.View$PerformClick.run(View.java:8816)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)

0 0
داخل فایل style تم appcompat رو ست کردید؟ (10 سال پیش)
0 0
بله البته اینرو هم بگم که رو اندروید 2.2 نصب میشه ولی وقتی رو Spinner کلیک میکنم فورس کلوز میشه یه تغییری تو کد دادم (از اینترنت) درست شد البته ایکون کنار تکست ها رو برداشتم (10 سال پیش)
0 0
بله ArrayList itemList = new ArrayList(); itemList.add("Local"); itemList.add("My Places"); itemList.add("Checkins"); itemList.add("Latitude"); ArrayAdapter aAdpt = new ArrayAdapter(this, android.R.layout.simple_list_item_1, android.R.id.text1, itemList); (10 سال پیش)
پاسخ به سوال 
reza1234  10 سال پیش
0 0

دوستان نمیدونم چرا ولی من RelativeLayout رو به LinearLayout تبدیل کردم و درست شد


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .