gpt4 book ai didi

android - 在带有标题的图像列表中显示图形而不是字符串

转载 作者:行者123 更新时间:2023-11-29 00:36:19 25 4
gpt4 key购买 nike

目前我正在从我的数据库中获取项目并将它们添加到一个名为 result 的字符串中,我将其返回并设置到我的 TextView 中:

protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.level);
loadDataBase();

int level = Integer.parseInt(getIntent().getExtras().getString("level"));

questions = new ArrayList<Question>();
questions = myDbHelper.getQuestionsLevel(level);

tvQuestion = (TextView) findViewById(R.id.tvQuestion);

i = 0;
String data = getAllItems();
tvQuestion.setText(data);
}
private String getAllItems() {
result = "";

for (i = 0; i<9; i++){
result = result + questions.get(i).getQuestion() + "\n";
}

return result;
// TODO Auto-generated method stub

}

事实是,所有这些项目在数据库中也有一个标题(字符串)和图形缩略图(字符串)。我想如下图所示显示它们,每个都有一个 onclicklistener,而不是一个无聊的项目列表。每个项目都有图片和标题。自从我开始编程以来,我想知道如何最好地做到这一点,以及您是否知道任何很好的解释它的好教程? imagelist谢谢!

最佳答案

如果我理解您的问题,您需要创建一个自定义适配器。

像这样创建一个新的简单类,其中包含一个字符串和一张图片

    Class ObjectHolder {
int Image;
String Title;
}

并为这两个创建一个getter和setter

然后创建自定义 ArrayAdapter

    Class CustomArrayAdapter extends ArrayAdapter<ObjectHolder> {


public CustomArrayAdapter(Context C, ObjectHolder[] Arr) {
super(C, R.layout.caa_xml, Arr);
}

@Override
public View getView(int position, View v, ViewGroup parent)
{
View mView = v ;
if(mView == null){
LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mView = vi.inflate(R.layout.cpa_xml, null);
}
TextView text = (TextView) mView.findViewById(R.id.tv_caarow);
ImageView image = (ImageView) mView.findViewById(R.id.iv_caarow);
if(mView != null )
{ text.setText(getItem(position).getText());
image.setImageResource(getItem(position).getImage());
return mView;
}
}

并在res\layout\中创建caa_xml.xml

   <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/iv_caarow"
android:src="@drawable/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_caarow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="15dip"
android:layout_BottomOf="@+id/iv_caarow" />
</RelativeLayout>

然后像这样使用它。

   GridView GV= (GridView) findViewById(R.Id.gv); // reference to xml or create in java
ObjectHolder[] OHA;
// assign your array, any ways!
mAdapter CustomArrayAdapter= CustomArrayAdapter(this, OHA);
GridView.setAdapter(mAdapter);

关于android - 在带有标题的图像列表中显示图形而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12531991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com