首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微调工具项对单击没有影响!,列表仅保留在屏幕上

微调工具项对单击没有影响!,列表仅保留在屏幕上
EN

Stack Overflow用户
提问于 2012-10-12 18:59:05
回答 2查看 1.1K关注 0票数 0

我有一个活动,它接受来自用户的银行名称和账号。银行名称和相应的账号存储在数据库中。现在在另一个活动中有两个微调器,其中一个获取银行名称并填充它们,另一个获取与该银行相对应的帐号。我成功地填充了spinners.The,唯一的问题是,第一个旋转器中的条目(包含银行名称)是不可点击的,因此第二个旋转器也变得无用。我不能理解这是什么原因。以下是微调器的代码:

代码语言:javascript
复制
   // in onCreate() function
   // for the spinner holding bank name
    Cursor cursor = myDatabase.getData();
    cursor.moveToFirst();
    myAdapter = new SimpleCursorAdapter(AddTransaction.this,
                R.layout.spinnerlayout, cursor,
                new String[] { DatabaseClass.KEY_BANK_NAME_ID },
                new int[] { R.id.bankName },
                SimpleCursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
    mySpinner.setAdapter(myAdapter);

    get_datafrom_spinner = cursor.getString(cursor
                .getColumnIndex(DatabaseClass.KEY_BANK_NAME_ID));
        // Toast.makeText(AddTransaction.this, get_datafrom_spinner,
        // Toast.LENGTH_LONG).show();

        // mySpinner.setOnItemSelectedListener(this);

    myDatabase.close();



@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position,
        long arg3) {
    // TODO Auto-generated method stub
    try {
        myDatabase.open();

        int pos = position;
        Cursor cursor = (Cursor) myAdapter.getItem(pos);
        bank_name = cursor.getString(cursor // name of the bank
                                            // selected
                .getColumnIndex(DatabaseClass.KEY_BANK_NAME_ID));
        myAdapter = new SimpleCursorAdapter(AddTransaction.this,
                R.layout.spinnerlayout, cursor,
                new String[] { DatabaseClass.KEY_BANK_NAME_ID, },
                new int[] { R.id.bankName },
                SimpleCursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
        mySpinner.setAdapter(myAdapter);

        // Toast.makeText(AddTransaction.this, s,
        // Toast.LENGTH_SHORT).show();

        // returns the account numbers corresponding to this bank name
        Cursor c = myDatabase.getAccountData(bank_name);
        c.moveToFirst();

        myAdapter_for_account = new SimpleCursorAdapter(
                AddTransaction.this, R.layout.account_number_spinner, c,
                new String[] { DatabaseClass.KEY_ACCOUNT_NUMBER_ID },
                new int[] { R.id.accNum },
                SimpleCursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

        mySpinner_for_account.setAdapter(myAdapter_for_account);

        // position of the the clicked in the spinner for account
        int position_account = mySpinner_for_account
                .getSelectedItemPosition();

        Cursor cursor2 = (Cursor) myAdapter_for_account
                .getItem(position_account);

        // holds the account number for the spinner item selected
        account_number_selected = cursor2.getString(cursor2
                .getColumnIndex(DatabaseClass.KEY_ACCOUNT_NUMBER_ID));

        // Toast.makeText(AddTransaction.this, account_number_selected,
        // Toast.LENGTH_LONG).show();
        Cursor balance = myDatabase
                .getAmountfor_Account(account_number_selected);
        balance.moveToFirst();

        /*
         * c = myDatabase.getAmountfor_Account(account_for_spiiner_account);
         * c.moveToFirst();
         */

        // get the balance as a string

        balance_in_account = balance.getString(balance // <--
                .getColumnIndex(DatabaseClass.KEY_CURRENT_BALANCE_ID));

        // Toast.makeText(AddTransaction.this, balance_in_account,
        // Toast.LENGTH_SHORT).show();

    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    myDatabase.close();

}
EN

回答 2

Stack Overflow用户

发布于 2012-10-12 19:04:11

代码语言:javascript
复制
Spinner s = (Spinner) findViewById(R.id.spinner_id);
s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){

@Override
public void onItemSelected(AdapterView adapter, View v, int i, long lng) {
//do something here
}

@Override
public void onNothingSelected(AdapterView arg0) {
//do something else
}
});
票数 0
EN

Stack Overflow用户

发布于 2012-10-17 21:28:50

最后让它工作了,问题是我在同一个onItemSelected()函数中声明了两个微调器,每个微调器都应该有自己的onItemSelected函数来工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12857582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档