Android 在ListView上打开动态图像单击
嘿,伙计们,我需要你们的帮助,从过去的4个小时开始做这件事,但不能完全做到 实际上,我有很多图像,并希望根据单击列表视图来显示它们 我到目前为止所做的: 创建了2个xml文件: main.xml:Android 在ListView上打开动态图像单击,android,listview,android-listview,Android,Listview,Android Listview,嘿,伙计们,我需要你们的帮助,从过去的4个小时开始做这件事,但不能完全做到 实际上,我有很多图像,并希望根据单击列表视图来显示它们 我到目前为止所做的: 创建了2个xml文件: main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="matc
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fadeScrollbars="false"
android:divider="#00000000" />
</RelativeLayout>
在这里,我采取这个立场,将文件[]的值传递给SetFormulas.java,并将值传递给ForAdapter.java
package com.shivam.listview;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
public class ForAdapter extends ArrayAdapter<String>{
private final LayoutInflater mInflater;
public ForAdapter(Context context) {
super(context, android.R.layout.simple_list_item_2);
mInflater = (LayoutInflater) context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
}
public void setData(String name[]) {
clear();
if(name != null){
for (String formu : name)
add(formu);
}
}
public View getView(int position, View convertView,
ViewGroup parent){
View view;
if(convertView == null){
view = mInflater.inflate(android.R.layout.simple_list_item_1, parent, false);
}
else{
view = convertView;
}
String data = this.getItem(position);
((ImageView) view.findViewById(R.id.ivFormulas)).(data);
return view;
}
}
基本上,我不知道如何使用SetFormulas,如何根据通过列表视图单击的项目设置图像。
java
package com.shivam.listview;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
public class ForAdapter extends ArrayAdapter<String>{
private final LayoutInflater mInflater;
public ForAdapter(Context context) {
super(context, android.R.layout.simple_list_item_2);
mInflater = (LayoutInflater) context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
}
public void setData(String name[]) {
clear();
if(name != null){
for (String formu : name)
add(formu);
}
}
public View getView(int position, View convertView,
ViewGroup parent){
View view;
if(convertView == null){
view = mInflater.inflate(android.R.layout.simple_list_item_1, parent, false);
}
else{
view = convertView;
}
String data = this.getItem(position);
((ImageView) view.findViewById(R.id.ivFormulas)).(data);
return view;
}
}
另外,请详细解释一下,这样我就能够理解,不再重复那个错误了 附言:我已经把图片放在assets/forumlas和drawable/folder中了
谢谢图像是否正在显示??使用image.setImageResource(resId);代替ivFormulas.setImageDrawable(mFormulas);尝试了很多东西…实际上问题出在我的代码中…显示代码是正面的…有很多错误…我不能使用image.setImageResource(resId);或者任何其他我用字符串定义的图像路径…不知道确切地做什么…完全混乱…对HTML文件做了相同的操作,但在这种情况下,它只是字符串,所以没有遇到任何问题。这是应用程序的链接…你可以下载并导入它:如果有字符串,你可以将其转换为整数,但首先你必须R&用图像和文本定制列表视图…所以你可以很容易地得到…是的…我知道你可以做到
package com.shivam.listview;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
public class ForAdapter extends ArrayAdapter<String>{
private final LayoutInflater mInflater;
public ForAdapter(Context context) {
super(context, android.R.layout.simple_list_item_2);
mInflater = (LayoutInflater) context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
}
public void setData(String name[]) {
clear();
if(name != null){
for (String formu : name)
add(formu);
}
}
public View getView(int position, View convertView,
ViewGroup parent){
View view;
if(convertView == null){
view = mInflater.inflate(android.R.layout.simple_list_item_1, parent, false);
}
else{
view = convertView;
}
String data = this.getItem(position);
((ImageView) view.findViewById(R.id.ivFormulas)).(data);
return view;
}
}
package com.shivam.listview;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;
public class SetFormulas extends Activity{
ImageView ivFormulas;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.id.ivFormulas);
initializers();
}
private void initializers() {
ivFormulas = (ImageView) findViewById(R.id.ivFormulas);
Bundle getBasket = getIntent().getExtras();
String mFormulas = getBasket.getString("show_for");
ivFormulas.setImageDrawable(mFormulas);
}
}