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();
}
}
}