Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何进入listview中的选定活动_Android_Android Listview_Intentfilter - Fatal编程技术网

Android 如何进入listview中的选定活动

Android 如何进入listview中的选定活动,android,android-listview,intentfilter,Android,Android Listview,Intentfilter,MainActivitty.java import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.View; i

MainActivitty.java

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;

public class MainActivity extends Activity {
      // list view
      private ListView lv;

      // listview adapter
      ArrayAdapter<String> adapter;

      // search edittext
      EditText inputsearch;

      // arraylist for listview
      ArrayList<HashMap<String, String>> negaralist;

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

    // data array yang akan ditampilkan di list 
    String negara[] = {"indonesia","malaysia","brunei","filipina",
              "thailand","myanmar","singapura","vietnam",
              "kamboja","laos","brazil","amerika","inggris","italia","france","kamerun",
              "argentina","portugal","germany","spanyol","mexico","kanada","belgium"};
    // ambil list_view dan inputsearchnya di xml 
    lv = (ListView) findViewById(R.id.list_view);
    inputsearch = (EditText) findViewById(R.id.inputSearch);

    // proses menambahkan array kedalam listview 
    adapter = new ArrayAdapter<String>(this, R.layout.list_item_filter,
        R.id.negara_name, negara);
    lv.setAdapter(adapter);

    /**
     * kode dibawah ini dipakai untuk memfilter/pencarian realtime 
     * */
    inputsearch.addTextChangedListener(new TextWatcher() {
        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub
       MainActivity.this.adapter.getFilter().filter(s);


    }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            // TODO Auto-generated method stub

        }});

    lv.setOnItemClickListener (new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3){
            Intent i = null;
            if (position == 0){
                i = new Intent(MainActivity.this, Indonesia.class);}
            else if(position == 1){
                i = new Intent(MainActivity.this, Malaysia.class);}
else if(position == 2){
                i = new Intent(MainActivity.this, Brunei.class);}
else if(position == 3){
                i = new Intent(MainActivity.this, Filipina.class);}
else if(position == 4){
                i = new Intent(MainActivity.this, Thailand.class);}
else if(position == 5){
                i = new Intent(MainActivity.this, Myanmar.class);}
else if(position == 6){
                i = new Intent(MainActivity.this, Singapur.class);}
else if(position == 7){
                i = new Intent(MainActivity.this, Vietnam.class);}
        startActivity(i);

        }
        });}
    public void onBackPressed() {
        finish();
        System.exit(0);
            }

    }
import java.util.ArrayList;
导入java.util.HashMap;
导入android.app.Activity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.text.Editable;
导入android.text.TextWatcher;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.EditText;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.AdapterView.OnItemClickListener;
公共类MainActivity扩展了活动{
//列表视图
私有ListView lv;
//列表视图适配器
阵列适配器;
//搜索编辑文本
编辑文本输入搜索;
//listview的arraylist
阿拉伯国家主义者;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//数据数组将包含在数据列表中
字符串negara[]={“印度尼西亚”、“马来西亚”、“文莱”、“菲律宾”,
“泰国”、“缅甸”、“新加坡”、“越南”,
“坎波亚”、“老挝”、“巴西”、“美国”、“英格里斯”、“意大利”、“法国”、“卡梅隆”,
“阿根廷”、“葡萄牙”、“德国”、“西班牙”、“墨西哥”、“卡纳达”、“比利时”};
//xml中的对象列表视图和输入搜索
lv=(ListView)findViewById(R.id.list\u视图);
inputsearch=(EditText)findViewById(R.id.inputsearch);
//Prosses menambahkan数组kedalam listview
适配器=新阵列适配器(此,R.layout.list\u项\u筛选器,
R.id.negara_名称,国家);
低压设置适配器(适配器);
/**
*这是实现memfilter/pencarian实时性的关键
* */
inputsearch.addTextChangedListener(新的TextWatcher(){
@凌驾
公共无效后文本已更改(可编辑){
//TODO自动生成的方法存根
MainActivity.this.adapter.getFilter().filter;
}
@凌驾
更改前的公共无效(字符序列、整数开始、整数计数、,
整数后){
//TODO自动生成的方法存根
}
@凌驾
public void onTextChanged(字符序列,int start,int before,
整数计数){
//TODO自动生成的方法存根
}});
lv.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(适配器视图arg0、视图arg1、内部位置、长arg3){
意图i=无效;
如果(位置==0){
i=新意图(MainActivity.this,Indonesia.class);}
否则如果(位置==1){
i=新意图(MainActivity.this,Malaysia.class);}
否则如果(位置==2){
i=新意图(MainActivity.this,Brunei.class);}
否则如果(位置==3){
i=新意图(MainActivity.this,Filipina.class);}
否则如果(位置==4){
i=新意图(MainActivity.this,Thailand.class);}
否则如果(位置==5){
i=新意图(MainActivity.this,Myanmar.class);}
否则如果(位置==6){
i=新意图(MainActivity.this,Singapur.class);}
否则如果(位置==7){
i=新意图(MainActivity.this,越南类);}
星触觉(i);
}
});}
public void onBackPressed(){
完成();
系统出口(0);
}
}
activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >


    <EditText android:id="@+id/inputSearch"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Search Country.."
        />


    <ListView
        android:id="@+id/list_view"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</Linear


“position”来自lv对象,因此是过滤列表,而不是原始字符串列表。因此,当您选择“inggris”时,重新运行的位置为1并开始马来西亚活动。请尝试:

public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3){
LinearLayout tmpll = (LinearLayout) view;
TextView tmptv = (TextView) tmpll.findViewById(R.id.negara_name);
pos = negara.indexOf(tmptv.getText());
public void onItemClick(适配器视图arg0,视图视图,int位置,长arg3){
LinearLayout tmpll=(LinearLayout)视图;
TextView tmptv=(TextView)tmpll.findviewbyd(R.id.negara_name);
pos=negara.indexOf(tmptv.getText());

并将其他“position”更改为“pos”。

中没有英语list@r7v你是说英格兰吗?还有,iyyan71,你在提问时应该更清楚。请表明你已经努力研究以解决你的问题,并避免简单地粘贴代码供我们整理。对不起,我是说inggris,从字母“I”开始不是英语。请帮助我,如何进入其中选择的活动。clicklistener有什么问题?
public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3){
LinearLayout tmpll = (LinearLayout) view;
TextView tmptv = (TextView) tmpll.findViewById(R.id.negara_name);
pos = negara.indexOf(tmptv.getText());