Android 将onClickListener添加到ListView中的特定项

Android 将onClickListener添加到ListView中的特定项,android,listview,Android,Listview,请允许我尝试添加了解如何在下面的代码中添加onItemClickListener,以便在单击“Smartphone Plans”时,其活动开始,等等。我在StackOverflow上看到了与此问题相关的其他问题,但不知道如何解决这些问题。 我已经添加了一个侦听器,但不知道如何将其设置为特定的列表项。 这是密码 package devchuks.com.rechargeit; import android.support.v7.app.AppCompatActivity; import andr

请允许我尝试添加了解如何在下面的代码中添加onItemClickListener,以便在单击“Smartphone Plans”时,其活动开始,等等。我在StackOverflow上看到了与此问题相关的其他问题,但不知道如何解决这些问题。 我已经添加了一个侦听器,但不知道如何将其设置为特定的列表项。 这是密码

package devchuks.com.rechargeit;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.app.ListActivity;

import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class EtisalatData extends AppCompatActivity {
    ListView listView;

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

        listView = (ListView) findViewById(R.id.list);


        String[] values = new String[] {
                "Smartphone Plans",
                "Internet Bundles",
                "Weekend Plans",

        };



        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, android.R.id.text1, values);



        listView.setAdapter(adapter);


        listView.setOnItemClickListener(new OnItemClickListener() {

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


            }

        });
    }

}
package devchuks.com.it;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.app.ListActivity;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
导入android.widget.AdapterView.OnItemClickListener;
公共类EtisalatData扩展了AppCompative活动{
列表视图列表视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_etisalat_数据);
listView=(listView)findViewById(R.id.list);
字符串[]值=新字符串[]{
“智能手机计划”,
“互联网捆绑包”,
“周末计划”,
};
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,android.R.id.text1,值);
setAdapter(适配器);
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
}
});
}
}

每当单击任何列表项时,都将调用
onItemClick
。该位置将是适配器中视图的位置

请参阅-

谢谢
斯里拉姆

如果这有帮助并且是您的问题 `

listView.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
字符串数据=值[位置];
交换机(数据){
案例“智能手机计划”:
//做些事
打破
//对于其他两个值也是如此。
}
}
});`
试试这个:

 listView.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        String text = values[position];
        if(text.equals("Smartphone Plans")){ //your specific list item text
            Intent i = new Intent(MainActivity.this, AnotherActivity.class);
            i.putExtra("TEXT", text);
            startActivity(i);
        }
    }
}
listView.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
字符串文本=值[位置];
如果(text.equals(“智能手机计划”){//您的特定列表项文本
意图i=新意图(MainActivity.this,AnotherActivity.class);
i、 putExtra(“文本”,文本);
星触觉(i);
}
}
}

您可以像这样定义您的
listView.setOnItemClickListener
以转到不同的活动来单击不同的元素

listView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view,
                            int position, long id) {
         String item = listView.getItemAtPosition(position);
         Toast.makeText(this,"You selected : " + item,Toast.LENGTH_SHORT).show();
         if(position==0) {
            // Do your code for clicking "Smartphone Plans" example
            // startActivity(new Intent(getApplicationContext(),SmartphonePlans.class));
         }
        else if(position==1) { 
           // Do your code for clicking "Internet Bundles". example
          // startActivity(new Intent(getApplicationContext(),InternetBundles.class));
         }
        else if(position==2) { 
           // Do your code for clicking "Weekend Plans". example 
          //startActivity(new Intent(getApplicationContext(),WeekendPlans.class));*/
    }

});
listView.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
字符串项=listView.getItemAtPosition(位置);
Toast.makeText(您选择的“+”项,Toast.LENGTH_SHORT.show();
如果(位置==0){
//点击“智能手机计划”示例的代码
//startActivity(新意图(getApplicationContext(),SmartphonePlans.class));
}
如果(位置==1){
//执行单击“Internet捆绑包”的代码。示例
//startActivity(新意图(getApplicationContext(),InternetBundles.class));
}
如果(位置==2){
//执行您的代码以单击“周末计划”。示例
//startActivity(新意图(getApplicationContext(),WeekendPlans.class))*/
}
});

下面的方法提供单击行的位置。利用该位置和数组中的值

 @Override
   public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {
      // Move your values array to member array or make it final to use
      // in Anonymous class
      final String selectedValue = values[position];

     Intent intent = null
    // Now add case and start activity 
    if("Smartphone Plans".equals(selectedValue)) {
      intent = new Intent(EtisalatData.this, SmartPhonePlan.class);
    }
    else if("other Plans".equals(selectedValue)){
      // other action
    }
       //... more cases and at the end start your activity if its not null
     startActivity(intent);
}
@覆盖
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//将您的值数组移动到成员数组或使其成为最终使用
//在匿名课堂上
最终字符串selectedValue=值[位置];
Intent=null
//现在添加案例并开始活动
如果(“智能手机计划”。等于(selectedValue)){
intent=新的intent(EtisalatData.this、SmartPhonePlan.class);
}
else if(“其他计划”。等于(selectedValue)){
//其他行动
}
//…更多情况下,如果不为空,则在结束时开始您的活动
星触觉(意向);
}

你的意思是
值[position]
,下一步做任何你想做的事。我要让它选择特定的项目吗?使用此
值[position]的值执行等于函数
您应该接受一个答案,以便人们知道哪个答案解决了您的问题是的,但我希望它在特定项目上启动一个新活动clickso基于单击的项目使用Intent Intent i=new Intent启动新活动(getApplicationContext(),NewActivity.class);startActivity(i);
 @Override
   public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {
      // Move your values array to member array or make it final to use
      // in Anonymous class
      final String selectedValue = values[position];

     Intent intent = null
    // Now add case and start activity 
    if("Smartphone Plans".equals(selectedValue)) {
      intent = new Intent(EtisalatData.this, SmartPhonePlan.class);
    }
    else if("other Plans".equals(selectedValue)){
      // other action
    }
       //... more cases and at the end start your activity if its not null
     startActivity(intent);
}