我有一个customAdapter,网格中的视图的.xml是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="120dp"
android:orientation="vertical">
<ImageView
android:id="@+id/imagepart"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:gravity="top"/>
<TextView
android:id="@+id/textpart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor = "#000000"
android:gravity="top"/>
</LinearLayout>
在这个自定义适配器中,我有一个从私有数组返回字符串的方法。
public class DishesImageAdapter extends BaseAdapter {
...
public String getName(int position) {
if(position > 0 && position >= mThumbsNames.length)
{
return mThumbsNames[position];
}
return null;
}
...
}
我想在onItemClick中调用这个前一个方法,我已经通过“父”对象尝试了几种方法,但我不能...
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Intent DishDetailsIntent = new Intent(v.getContext(), DishesDetails.class);
DishDetailsIntent.putExtra("SectorNum", getIntent().getStringExtra("SectorNum"));
String DishName = //
DishDetailsIntent.putExtra("DishName", DishName);
startActivity(DishDetailsIntent);
}
任何帮助?
提前致谢。
最后我得到了答案:
TextView tv= (TextView) v.findViewById(R.id.textpart);
String DishName = tv.getText().toString();
DishDetailsIntent.putExtra("DishName", DishName);
答案 0 :(得分:0)
我建议将getName()移到Activity中,以便进行这两种操作。
第二个选项是将getName设置为静态,以便您可以直接访问它,这可能会导致其他问题。