如何创建一个可点击的列表视图,进入新页面 [英] How to create a clickable Listview and go to new page
本文介绍了如何创建一个可点击的列表视图,进入新页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在Android的一个新的程序员。我想创建一个可点击列表视图。我的意思是,当用户点击一个项目它关系到一个新的页面,并开始一个新的活动。请帮我。 提前致谢。 这是我的code在mainactivity.java。
包first.app;
进口的java.util.List;
进口android.os.Bundle;
进口android.app.Activity;
进口android.app.ListActivity;
进口android.content.Context;
进口android.content.Intent;
进口android.view.LayoutInflater;
进口android.view.Menu;
进口android.view.View;
进口android.view.View.OnClickListener;
进口android.view.ViewGroup;
进口android.webkit.WebView.FindListener;
进口android.widget.AdapterView;
进口android.widget.AdapterViewFlipper;
进口android.widget.ArrayAdapter;
进口android.widget.Button;
进口android.widget.ImageView;
进口android.widget.ListView;
进口android.widget.TextView;
公共类MainActivity扩展ListActivity {
@覆盖
保护无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
setListAdapter(新MyAdapter(这一点,
android.R.layout.simple_list_item_1,R.id.textView1,
。getResources()getStringArray(R.array.games)));
}
私有类MyAdapter扩展ArrayAdapter<字符串> {
公共MyAdapter(上下文的背景下,INT资源,INT textViewResourceId,
的String []字符串){
超(背景下,资源,textViewResourceId,字符串);
}
@覆盖
公共查看getView(INT位置,查看convertView,ViewGroup中父){
LayoutInflater充气=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
查看排= inflater.inflate(R.layout.list,父母,假);
。的String []项目= getResources()getStringArray(R.array.games);
ImageView的IV =(ImageView的)row.findViewById(R.id.imageView1);
TextView的电视=(TextView中)row.findViewById(R.id.textView1);
tv.setText(项目[位置]);
如果(项目[位置] .equals(فوتبال)){
iv.setImageResource(R.drawable.football);
}
否则,如果(项目[位置] .equals(شنا)){
iv.setImageResource(R.drawable.swimming);
}
否则,如果(项目[位置] .equals(شمشیربازی)){
iv.setImageResource(R.drawable.fencing);
}
否则,如果(项目[位置] .equals(شطرنج)){
iv.setImageResource(R.drawable.chess);
}
返回行;
}
}
}
解决方案
使用ListView项单击监听器
getListView()。setOnItemClickListener(新OnItemClickListener(){
@覆盖
公共无效onItemClick(适配器视图<>适配器视图,视图中查看,INT位置,长的id){
//你的code是这里的项目点击
}
});
I'm a new programmer in android. I want to create a Clickable Listview. I mean when users clicked on one item it goes to a new page and start a new activity. Please help me. Thanks in advance. It's my code in mainactivity.java.
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;
}
}
}
解决方案
use Listview item click listener
getListView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
// your code is here on item click
}
});
这篇关于如何创建一个可点击的列表视图,进入新页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文