相关疑难解决方法(0)

当再次选择当前所选项目时,如何在Android Spinner中获取事件?

我为spinner编写了一个setOnItemSelectedListener,以便在更改微调器项时进行响应.我的要求是当我再次点击当前选择的项目时,应显示一个Toast.如何举办此活动?再次单击当前选定的项目时,微调器没有响应.`

    StorageSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){

        @Override
        public void onItemSelected(AdapterView adapter, View v, int i, long lng) {              
            Toast.makeText(getApplicationContext(), (CharSequence) StorageSpinner.getSelectedItem(), Toast.LENGTH_SHORT).show();

        }

        @Override
        public void onNothingSelected(AdapterView arg0) {
            Toast.makeText(getApplicationContext(), "Nothing selected", Toast.LENGTH_SHORT).show();

        }
    });  
Run Code Online (Sandbox Code Playgroud)

android

56
推荐指数
7
解决办法
6万
查看次数

Spinner:当选定项保持不变时,不会调用onItemSelected

我有一个OnItemSelectedListenerfor my Spinner,但是当所选项目与前一个项目相同时,它不会被调用.显然,OnClickListener这不是一个选项Spinner.每次用户点击某个项目时我都需要抓住.任何的想法?

也许这SpinnerActionBar扰乱正常行为的事实?

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.tracklist_menu, menu);
    Spinner spinner = (Spinner) menu.findItem(R.id.option_ordering_spinner)
            .getActionView();
    spinner.setAdapter(mSpinnerAdapter);
    spinner.setSelection(PrefsHelper.getOrderingSpinnerPos(prefs));
    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long id) {
            String str = "selected";
            System.out.println(str);
            if (optionMenuInitialized) {

                switch (position) {
                case 0:
                    // rdm
                    getActivity()
                            .sendBroadcast(
                                    new Intent(
                                            MyIntentAction.DO_RESHUFFLE_PLAYLIST));
                    smp.setCurrentTracklistCursorPos(-1);
                    trackAdapter.notifyDataSetChanged();
                    break;
                case 1:
                    // artist
                    getActivity()
                            .sendBroadcast(
                                    new Intent(
                                            MyIntentAction.DO_ORDER_PLAYLIST_BY_ARTIST)); …
Run Code Online (Sandbox Code Playgroud)

android listener spinner actionbarsherlock android-actionbar

45
推荐指数
6
解决办法
3万
查看次数

如何在Android上创建日期微调器

如何创建一个打开日期选择器对话框的Android微调器?

我想要一个看起来像日历应用程序中的Spinner的Spinner,如下面的屏幕截图所示.

Android日历应用的屏幕截图,突出显示所需的GUI元素

我已经尝试过的:

我在布局XML中创建了一个微调器,并尝试设置onclick属性来调用显示对话框的方法.当我在"点击"中输入方法名称时,我得到了错误,上面写着"找不到以下类: - Spinner(更改为android.widget.Spinner,修复构建路径,编辑XML)".

<Spinner
    android:id="@+id/spinner1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:onClick="showDatePickerDialog" />
Run Code Online (Sandbox Code Playgroud)

showDatePickerDialog在正确的类中:

public void showDatePickerDialog(View v) {
    DialogFragment newFragment = new DatePickerFragment();
    newFragment.show(getFragmentManager(), "Date");
}
Run Code Online (Sandbox Code Playgroud)

这是DatePickerFragment(从其他网站复制):

import java.util.Calendar;

import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.os.Bundle;
import android.widget.DatePicker;

public class DatePickerFragment extends DialogFragment
                        implements DatePickerDialog.OnDateSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        // Use the current date as the default date in the picker
        final Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH);
        int day …
Run Code Online (Sandbox Code Playgroud)

java android date spinner

19
推荐指数
2
解决办法
3万
查看次数

如何在Android中捕获针对微调器的onClick事件

我想在用户选择微调器值时捕获onClick事件.

我已经尝试实现OnClickListener并使用以下代码:

@Override
public void onClick(final View view) {
  if (view == countrySpinner) {
    Toast.makeText(this, "Override OK!", 3);
  }
}
Run Code Online (Sandbox Code Playgroud)

和绑定:

countrySpinner.setOnClickListener(this);
Run Code Online (Sandbox Code Playgroud)

这编译,但我得到RuntimeException建议我使用OnItemClickListener而不是OnClickListener一个AdapterView.

如何捕获onClick事件?

android android-widget android-spinner

10
推荐指数
2
解决办法
3万
查看次数

有没有办法将setOnClickListener与Android Spinner一起使用?

java.lang.RuntimeException是"不要为AdapterView调用setOnClickListener.你可能需要setOnItemClickListener,"但这不正确.我正在使用setOnItemClickListener根据新选择做一些事情,但我还需要在用户更改选择之前做一些事情.具体来说,我正在为移动到另一个选择之前需要保存到文件的每个选择收集数据,因为另一个选择与不同的数据集相关联.有没有办法将setOnClickListener与Android Spinner一起使用?

spinner.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // Do some stuff before the user changes the selection
        ...

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent,
            View view, int pos, long id) {
            // Do some stuff based onItemSelected
            ...
Run Code Online (Sandbox Code Playgroud)

java android spinner

7
推荐指数
2
解决办法
1万
查看次数