2013-06-11 7 views
0

Я новый программист в android. Я хочу создать Clickable Listview. Я имею в виду, когда пользователи нажимали на один элемент, он переходит на новую страницу и запускает новое действие. Пожалуйста, помогите мне. Спасибо заранее. Это мой код в mainactivity.java.Как создать clickable Listview и перейти на новую страницу

package first.app; 

import java.util.List; 

import android.os.Bundle; 
import android.app.Activity; 
import android.app.ListActivity; 
import android.content.Context; 
import android.content.Intent; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.ViewGroup; 
import android.webkit.WebView.FindListener; 
import android.widget.AdapterView; 
import android.widget.AdapterViewFlipper; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.ImageView; 
import android.widget.ListView; 
import android.widget.TextView; 

public class MainActivity extends ListActivity { 

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

    setListAdapter(new MyAdapter(this, 
    android.R.layout.simple_list_item_1,R.id.textView1, 
    getResources().getStringArray(R.array.games))); 

} 

private class MyAdapter extends ArrayAdapter<String>{ 

    public MyAdapter(Context context, int resource, int textViewResourceId, 
      String[] strings) { 
     super(context, resource, textViewResourceId, strings); 

    } 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     LayoutInflater inflater = (LayoutInflater)  getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View row = inflater.inflate(R.layout.list,parent, false); 
     String[] items = getResources().getStringArray(R.array.games); 

     ImageView iv = (ImageView) row.findViewById(R.id.imageView1); 
     TextView tv = (TextView) row.findViewById(R.id.textView1); 

     tv.setText(items[position]); 

     if (items[position].equals("فوتبال")){ 
      iv.setImageResource(R.drawable.football); 
     } 
     else if (items[position].equals("شنا")){ 
      iv.setImageResource(R.drawable.swimming); 
     } 
     else if (items[position].equals("شمشیربازی")){ 
      iv.setImageResource(R.drawable.fencing); 
     } 
     else if (items[position].equals("شطرنج")){ 
      iv.setImageResource(R.drawable.chess); 
     }  
     return row; 
    } 


    } 


} 
+0

Посмотрите на этот ответ я отправил. Он должен решить вашу проблему. http://stackoverflow.com/questions/16979592/onclick-image-change-on-baseadapter/16981787#16981787 – Neil

+0

положить намерение и загрузить следующую активность – Giant

ответ

1

использование ListView пункт нажмите слушателем

getListView().setOnItemClickListener(new OnItemClickListener() {  
    @Override 
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { 
     // your code is here on item click 
    } 
}); 
0
ListView lv = getListView(); 


     lv.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
       String selval = ((TextView) view).getText().toString(); 

       Intent intnt = new Intent(getApplicationContext(), nextactivity.class); 
       intnt.putExtra("selval ", selval); 
       startActivity(i); 

      } 
     }); 
Смежные вопросы