Невозможно получить пользовательский счетчик в Android

Я следил за этимссылка на сайт чтобы узнать о реализации пользовательских блесны. Мое требование - просто получить раскрывающееся меню при нажатии на изображение, оно должно быть похоже на раскрывающееся меню, в котором я загружаю содержимое в список из бэкэнда.

Но я думал, что пример, размещенный в ссылке выше, будет работать. но это не дает никакого списка при нажатии на значок изображения.

Вот полный исходный код.

package com.example.testdroid;

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

import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.internal.widget.IcsSpinner;
import com.actionbarsherlock.view.ActionMode;
import com.actionbarsherlock.view.ActionMode.Callback;

public class MainActivity extends SherlockActivity {




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

        createCustomActionBar();
    }

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

    private void createCustomActionBar() 
    {
        List links = new ArrayList();
        links.add("Abc");
        links.add("Def");
        links.add("Ghi");
        LinksAdapter linkAdapter = new LinksAdapter(this, R.layout.externallink, links);

        View customNav = LayoutInflater.from(this).inflate(R.layout.custom_show_action_bar, null);
        IcsSpinner spinner = (IcsSpinner)customNav.findViewById(R.id.spinner);
        spinner.setAdapter(linkAdapter);


        ImageView refresh = (ImageView) customNav.findViewById(R.id.refresh);
        refresh.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            }
        });

        ImageView settings = (ImageView) customNav.findViewById(R.id.settings);
        settings.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            }
        });

        getSupportActionBar().setCustomView(customNav, new ActionBar.LayoutParams(Gravity.RIGHT));
        getSupportActionBar().setDisplayShowCustomEnabled(true);

    }

    private static class LinksAdapter extends ArrayAdapter {

        private List strings;
        private Context context;

        private LinksAdapter(Context mainActivity, int textViewResourceId, List objects) {
            super(mainActivity, textViewResourceId, objects);
            this.strings = objects;
            this.context = mainActivity;
        }

        @Override
        public int getCount() {
            if (strings == null) return 0;
            return strings.size();
        }

        @Override
        public String getItem(int position) {
            return super.getItem(position);
        }


        // return views of drop down items
        @Override
        public View getDropDownView(int position, View convertView, ViewGroup parent) {

            final String siteLink = strings.get(position);
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            // at 0 position show only icon

            TextView site = (TextView) inflater.inflate(R.layout.externallink, null);
            site.setText(siteLink);

            site.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    //Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(siteLink.getUrl()));
                    //context.startActivity(i);
                }
            });
            return site;


        }


        // return header view of drop down
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            return inflater.inflate(R.layout.custom_show_action_bar, null);
        }
    }


}

Вот мой XML-файл, т.е. файл XML макета.

custom_show_action_bar.xml




    

     


    


External_links.xml




    

Направь меня туда, где яЯ не прав.

Ответы на вопрос(0)

Ваш ответ на вопрос