Android中选择ListView和按钮进行选择

时间:2012-03-25 01:17:00

标签: android listview button

我有一个ListView,其中填充了数据库中美国州的名称。要转换到新屏幕,我想在该ListView中选择一个状态,然后点击一个按钮,该按钮将转换为该州的城市屏幕。

我想我知道如何填充ListView,但我不知道内部按钮的工作方式应该是什么样子。另外,我不知道如何通过过渡使用状态信息来使用它来列出城市。

此代码是否与此有关?

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
            blah.setCurrentListID(arg3);

让我知道。感谢。

1 个答案:

答案 0 :(得分:0)

首先,假设您使用的扩展ArrayAdapter的适配器类具有状态,例如:

public class StatesItemAdapter extends ArrayAdapter<UsState>

那么你有一个像ArrayList这样的List作为ArrayAdapter的数据源吗?然后,

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {

        UsState state = statesList.get(position); // on ArrayList
        // or try   statesList.get(listView.getSelectedItemPosition());


        Intent citiesIntent = new Intent(getApplicationContext(), CitiesActivity.class);
        citiesIntent.putExtra("state_name", state.getName()); // Name string originating from database record
        startActivity(citiesIntent);
}

然后在Cities活动中,在onCreate中,您必须获取状态的名称,并将其用作数据库查询中的条件,以获取城市结果的光标:

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);

            Intent intent = getIntent();
            Bundle bundleExtras = intent.getExtras();

            String selectedState = bundleExtras.getString("state_name");

            // Do database query on cities relating to state
            .......