Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.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
Java 列表视图中的SetImageDrawable_Java_Android_Android Listview_Imageview_Drawable - Fatal编程技术网

Java 列表视图中的SetImageDrawable

Java 列表视图中的SetImageDrawable,java,android,android-listview,imageview,drawable,Java,Android,Android Listview,Imageview,Drawable,在我的列表视图中,我想让它改变我创建的图像视图中的可绘制内容,但每次运行它时都会出错 ImageView Player; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Player = (ImageView)findViewById(R.id.bob); setListAdapter(new ArrayAdapter<St

在我的列表视图中,我想让它改变我创建的图像视图中的可绘制内容,但每次运行它时都会出错

ImageView Player;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Player = (ImageView)findViewById(R.id.bob);
    setListAdapter(new ArrayAdapter<String>(this, R.layout.pointguards, PointGuards));
    final ListView lv = getListView();
    lv.setTextFilterEnabled(true);
    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView parent, View view, int position, long id) {
                    String item = (String) lv.getAdapter().getItem(position);
                    //decide how to launch `Intent` depending on `item`
                    if (item == "bob"){
                Intent intent = new Intent("com.example.nba.playerinfo");
                startActivity(intent);
                Player.setImageDrawable(R.drawable.joe);
        }
    };   
ImageView播放器;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Player=(ImageView)findviewbyd(R.id.bob);
setListAdapter(新的ArrayAdapter(this,R.layout.pointguard,pointguard));
最终ListView lv=getListView();
lv.setTextFilterEnabled(真);
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
字符串项=(字符串)lv.getAdapter().getItem(位置);
//根据“项目”决定如何启动“意图”`
如果(项目==“bob”){
意向意向=新意向(“com.example.nba.playerinfo”);
星触觉(意向);
Player.setImageDrawable(R.drawable.joe);
}
};   
这运行得很好,但是当我添加setImageDrawable时,它崩溃了。
编辑:我要更改的绘图表的目的是,我将要

您没有设置内容视图。您应该设置为:

ImageView player;

@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.your_list_layout);   //   <-- setting content view
  player = (ImageView)findViewById(R.id.bob);
.
.
.
ImageView播放器;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

setContentView(R.layout.your_list_layout);//您需要在使用
Intent
启动的
活动中设置图像可绘制,而不是在
列表视图中设置。您可以使用
Intent.putExtras(“name”,name)传入名称
。然后在
活动中
根据从
意图
额外获取的名称使用
setImageDrawable

编辑:从
活动中的
意图
检索数据

Intent intent = getIntent();
String name = intent.getStringExtra("name");
然后像这样设置播放器
ImageView

if (name.equalsIgnoreCase("joe")
    Player.setImageDrawable(R.drawable.joe);

很抱歉,我忘了提到,我要更改的图片是我要更改的另一个目的,而且,这不起作用,因为数组适配器中已经提到了内容。请澄清您希望图像如何工作:何时更改图像?单击列表项时?还是仅加载图像一次整个列表加载时的每个列表项?是每个列表项中的图像,还是您试图将其加载到其他位置?图像位于drawables文件夹中,当前为bob,我想在单击bob时将其更改为joe。因此,您想在列表项中显示图像,单击该列表项时,图像会更改?还是单击g在
活动
中更改列表项和图像,您将以
意图
启动该活动?因此,您能否告诉我代码希望获得额外的内容?