Как поставить Intent на setOnItemClickListener в Android? - PullRequest
0 голосов
/ 16 ноября 2011

надеюсь, вы мне поможете ...

У меня есть класс, в этом классе есть просмотр списка из базы данных.

Мой вопрос заключается в том, как я могу поместить setOnItemClickListener, поэтому, если я щелкну на элементе в списке, он перейдет к

Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://maps.google.com/maps?f=d&saddr=&daddr="));

, и папка получит значение latt и long из базы данных.

Вот мое кодирование ...

public class HotelList extends Activity{
hotelHelper dbHotelHelper;
protected Cursor cursor;
protected ListAdapter adapter;
ListView numberList;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.hotellist);

    numberList = (ListView)findViewById(R.id.hotelListView);
    dbHotelHelper = new hotelHelper(this);
    try{
        dbHotelHelper.createDataBase();         
    }
    catch (Exception ioe){
        Log.e("err","Unable to create database");
    }        
    view();                 
}


private void view() {
    // TODO Auto-generated method stub
    SQLiteDatabase db = dbHotelHelper.getReadableDatabase();
    try{
        cursor = db.rawQuery("SELECT * FROM hoteltbl", null);
        adapter = new SimpleCursorAdapter(
                this, 
                R.layout.hotelview, 
                cursor, 
                new String[]{"name"}, 
                new int[] {R.id.hotelname}
                );
        numberList.setAdapter(adapter);     
    }
    catch (Exception e){
        Log.e("error",e.toString());
    }

}

}

Я действительно ценю, кто дает мне ответ ...

Ответы [ 6 ]

1 голос
/ 16 ноября 2011

попробуйте так

numberList.setOnItemClickListener(new OnItemClickListener(){
      @Override
      public void onItemClick(AdapterView<?> arg0, View view, int position,long id) {
            startActivity(new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://maps.google.com/maps?f=d&saddr=&daddr=1.481198,124.83572")));
      }
});
0 голосов
/ 16 ноября 2011

см.

listview.setOnItemClickListener(new OnItemClickListener() {
  public void onItemClick(AdapterView<?> parent, View v,int position, long id) {
 switch (position){
      case 0: Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://maps.google.com/maps?f=d&saddr=&daddr="));   
              startActivity(animalsGridViewIntent);
              break;
      //// depending on positions add intent's here..    
  }
0 голосов
/ 16 ноября 2011
numberList .setOnItemClickListener(new SelectionListener())

private class SelectionListener implements OnItemClickListener{

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                long arg3) {
            if(position == 0){      Intent i = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://maps.google.com/maps?f=d&saddr=&daddr=1.481198,124.83572"));
startActivity(i)
            }

        }
0 голосов
/ 16 ноября 2011
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.hotellist);

    numberList = (ListView)findViewById(R.id.hotelListView);
    numberList.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
              // Intent shuold start here
              Intent intent = Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://maps.google.com/maps?f=d&saddr=&daddr=1.481198,124.83572"));      
              startActivity(intent);

        }

    });


    dbHotelHelper = new hotelHelper(this);
    try{
        dbHotelHelper.createDataBase();         
    }
    catch (Exception ioe){
        Log.e("err","Unable to create database");
    }        
    view();                 
}
0 голосов
/ 16 ноября 2011
lv.setOnItemClickListener(new OnItemClickListener() {

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

                //do stuff using position and view

            }
        });
0 голосов
/ 16 ноября 2011

попробуйте это:

numberList.setOnItemClickListener (new OnItemClickListener () {

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

                //fire new intent here

            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...