我想为我的 ListView 中的每个项目创建一个新的意图。但首先我想看看数据 holder.title 是否可以通过日志读取。这不可以。我尝试使用 Toast,但在 makeText() 上也收到错误。
我的代码有什么问题?我不是java程序员,如果这是一个简单的问题,请原谅我。
此代码基于如何解析 Sub JSONArray 并显示图像?
我已经修改了一些代码,但我有足够的信心它不会影响这部分代码。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Data item = mObjects.get(position);
View rowView = convertView;
if (rowView == null) {
LayoutInflater inflater = mActivity.getLayoutInflater();
rowView = inflater.inflate(R.layout.item, parent, false);
ViewHolder viewHolder = new ViewHolder();
viewHolder.icon = (ImageView) rowView.findViewById(R.id.image);
viewHolder.title = (TextView) rowView.findViewById(R.id.title);
rowView.setTag(viewHolder);
}
ViewHolder holder = (ViewHolder) rowView.getTag();
holder.title.setText(item.getmTitle());
item.setOnClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
//Intent to be here. Now I am testing to see if data can be passed but it can't
Log.e("log_tag","This is being clicked");
}
});
holder.icon.setBackgroundResource(R.drawable.ic_launcher);
holder.mTask = new DownloadImageTask(item.getmImageUrl(), holder.icon);
if (!holder.mTask.isCancelled()) {
holder.mTask.execute();
}
return rowView;
}
已编辑!我为上面的代码尝试了几个小时,但看起来毫无希望。所以我研究了 MainActivity 类。至少有一些东西出来了。当我单击列表项时,正在显示“正在单击”。但是我仍然无法在单击时显示任何 JSON 数据。我想知道我如何从这里做意图。
再次编辑。
在网上看到更多代码后,我更改了一些代码。而且还是卡住了。
mListView = (ListView) findViewById(android.R.id.list);
mAdapter = new Adapter(this, mSource);
mListView.setAdapter(mAdapter);
mListView.setOnItemClickListener(new OnItemClickListener() {
//private Object title;
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
@SuppressWarnings("unchecked")
HashMap<String, String> o = (HashMap<String, String>) mListView.getItemAtPosition(position);
//Selected item
//String product = ((TextView) View).getText().toString();
Toast.makeText(getApplicationContext(),o.get("title"), Toast.LENGTH_LONG).show();
}
});