etContentView(R.layout.activity_firstscreen); btn=(按钮)findViewById(R.id.bn); sp=(微调器)findViewById(R.id.sp); } 公共作废按钮(视图v){ { 意向i=新意向(第一屏,这是ML1676P.class); 星触觉(i); } 微调器s1=(微调器)findViewById(R.id.sp); 阵列适配器 =新阵列适配器(此, android.R.layout.simple_spinner_item,product);//查找其他布局参数 s1.设置适配器(适配器); s1.setOnItemSelectedListener(新的OnItemSelectedListener() { @凌驾 已选择公共视图(AdapterView arg0、视图arg1、, 整数arg2,长arg3){ //TODO自动生成的方法存根 } @凌驾 未选择公共无效(AdapterView arg0){ //TODO自动生成的方法存根 } }); } 私有对象产品(){ //TODO自动生成的方法存根 返回null; } @凌驾 公共布尔onCreateOptions菜单(菜单){ //为菜单充气;这会将项目添加到操作栏(如果存在)。 getMenuInflater().充气(R.menu.firstscreen,menu); 返回true; } @凌驾 已选择公共视图(适配器视图arg0、视图arg1、内部arg2、, 长arg3){ //TODO自动生成的方法存根 } @凌驾 未选择公共无效(AdapterView arg0){ //TODO自动生成的方法存根 } }

etContentView(R.layout.activity_firstscreen); btn=(按钮)findViewById(R.id.bn); sp=(微调器)findViewById(R.id.sp); } 公共作废按钮(视图v){ { 意向i=新意向(第一屏,这是ML1676P.class); 星触觉(i); } 微调器s1=(微调器)findViewById(R.id.sp); 阵列适配器 =新阵列适配器(此, android.R.layout.simple_spinner_item,product);//查找其他布局参数 s1.设置适配器(适配器); s1.setOnItemSelectedListener(新的OnItemSelectedListener() { @凌驾 已选择公共视图(AdapterView arg0、视图arg1、, 整数arg2,长arg3){ //TODO自动生成的方法存根 } @凌驾 未选择公共无效(AdapterView arg0){ //TODO自动生成的方法存根 } }); } 私有对象产品(){ //TODO自动生成的方法存根 返回null; } @凌驾 公共布尔onCreateOptions菜单(菜单){ //为菜单充气;这会将项目添加到操作栏(如果存在)。 getMenuInflater().充气(R.menu.firstscreen,menu); 返回true; } @凌驾 已选择公共视图(适配器视图arg0、视图arg1、内部arg2、, 长arg3){ //TODO自动生成的方法存根 } @凌驾 未选择公共无效(AdapterView arg0){ //TODO自动生成的方法存根 } },android,listview,highlight,Android,Listview,Highlight,在列表视图中选择一个项目。单击按钮时,它应该转到特定的“选定项目”页面。代码是上面的代码片段。我喜欢这样做: <style name="activated" parent="android:Theme.Holo"> <item name="android:background">@android:color/holo_green_light</item> </style> @Override public void setUserVisi

在列表视图中选择一个项目。单击按钮时,它应该转到特定的“选定项目”页面。代码是上面的代码片段。我喜欢这样做:

<style name="activated" parent="android:Theme.Holo">
<item name="android:background">@android:color/holo_green_light</item>
</style>
@Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            try {
                int pos = 0;
                listview.performItemClick(null, pos, listview.getItemIdAtPosition(pos) );
            } catch (Exception e) {
                e.printStackTrace();
            }
        } 
    }

例如,如果我放置
mListView.setSelection(20)
它会将用户发送到列表的第20个项目。但是你有没有办法让该项目保持选中(或突出显示)状态?事实上,在我的情况下,最好使用
listview.setItemChecked(位置,true)(如果需要更多详细信息,请参阅我的答案)。无论如何,谢谢你的回答:).
setSelection()
只有在不处于触摸模式时才起作用(文档清楚地说明了这一点)。@Alexeniuk我认为我们对“清楚”有不同的看法,文档在哪里说明了这一点?另外,作为记录,我同意
setSelection()
在触摸模式下似乎不起作用。@Constantin给你:。“如果在触摸模式下,项目将不会被选择,但它仍然会被正确定位。”这句话没有比现在更“清晰”的了。回答得好!然而,我可以确认这在姜饼和更早的版本中不起作用。(state_activated是在蜂巢API级别11中添加的。)您忘了提到应该使用
Mylistview.getCheckEditePosition()方法检索所选项目的位置。为了安全起见,不应将Mylistview.setChoiceMode设置为1。您应该将其设置为AbsListView.CHOICE\u MODE\u SINGLE。这目前等于1,但他们可能会在未来的api版本中更改它。我不知道其他人的情况,但就我而言,我的后台选择器有一个RelativeLayout,应用程序正在崩溃(
XML充气异常
)。我通过在背景drawable中使用android:drawable
来改变android:color
。不管怎样,谢谢你的解决方案,效果很好!谢谢谢谢@Quentin给我的提示,否则我可能要花几个小时!在使用android:drawable时,必须使用colors.xml中指定的@color/。示例:android:drawable=“@color/pressed_color”,其中“pressed_color”在colors.xml中定义为#CACFD2Any solution如果更改适配器dynamicali,在所有生命周期技巧结束后?我正在制作聊天应用程序并发出fcm推送通知。我想当FCM通知到达聊天室时,但当我设置到聊天室应用程序的链接将崩溃时,请帮助我如何做到这一点。另一个明智的做法是,不单击列表视图项,您就可以告诉我如何自动选择列表视图,这些值通过字符串值传递给谁的人。太紧急了,请帮帮我。提前谢谢。
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">


        <item android:state_activated="true"
        android:color="#0094CE">
        </item>

        <item android:state_pressed="true"
        android:color="#0094CE">
        </item>

        <item android:state_pressed="false"
        android:color="#ACD52B">
        </item>


      </selector>
android:background="?android:attr/activatedBackgroundIndicator"
 mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
mListView.setItemChecked(1,true); //Don't make the same mistake I did by calling this function before setting the listview adapter.
<style name="activated" parent="android:Theme.Holo">
<item name="android:background">@android:color/holo_green_light</item>
</style>
<ListView
        android:id="@+id/listview"
        style="@style/activated"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp"/>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" 
  style="@style/activated"
>
  <!--widgets for your row here-->

</LinearLayout>
package com.example.samsung;

import com.example.samsung.*;
import com.example.samsung.R;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.Toast;

public class Firstscreen extends Activity implements OnItemSelectedListener {
    Button btn;
     Spinner sp;
     public String[] product = { "ML-1676P/XIP","SLM2021W/XIP","SL-M2826ND/XIP","SL-M2826ND/XIP","SL-M2826ND/XIP","SL-M3320ND/XIP","SL-M3820ND/XIP","SL-M4020ND/XIP"};  


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_firstscreen);
        btn = (Button) findViewById(R.id.bn);
        sp= (Spinner) findViewById(R.id.sp);
    }
        public void button (View v){
            {

        Intent i = new Intent(Firstscreen.this,ML1676P.class);
        startActivity(i);
        }

        Spinner s1 = (Spinner) findViewById(R.id.sp);
        ArrayAdapter<String> adapter 
        = new ArrayAdapter<String>(this, 
                android.R.layout.simple_spinner_item, product); // find other layout parameters
        s1.setAdapter(adapter);
        s1.setOnItemSelectedListener(new OnItemSelectedListener()
        {

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }

    });
    }

    private Object product() {
            // TODO Auto-generated method stub
            return null;
        }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.firstscreen, menu);
        return true;
    }

    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub


    }



}
@Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            try {
                int pos = 0;
                listview.performItemClick(null, pos, listview.getItemIdAtPosition(pos) );
            } catch (Exception e) {
                e.printStackTrace();
            }
        } 
    }