如何创建一个可点击的列表视图,进入新页面 [英] How to create a clickable Listview and go to new page

查看:138
本文介绍了如何创建一个可点击的列表视图,进入新页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆