Я получаю данные из базы данных и помещаю их в массив.Array содержит CODE (int) и DESCRIPTION (String). Код находится в gridview, и я хочу, чтобы кто-то нажимал на код, а затем реализовал описание должен быть показан в новой активности. Я использовал OnItemclicklistener, но не знаю, как получить только String из массива, чтобы показать его в новом действии. «Я хочу, чтобы код из ArrayList должен быть напечатан на первом экране и при нажатии на описании будет печататься в новой деятельности, как TextView»Получение String из ArrayList
private void show_data() {
final GridView gv = (GridView) findViewById(R.id.gridView);
// final ListView listview = (ListView) findViewById(R.id.listView1);
final Database_handler db = new Database_handler(this);
Cursor cur = db.fetchAllData();
final ArrayList<String> array_list = new ArrayList<String>();
if (cur.moveToFirst()) {
do {
array_list.add(cur.getString(0));
array_list.add(cur.getString(1));
} while (cur.moveToNext());
}
final StableArrayAdapter adapter = new StableArrayAdapter(this,
android.R.layout.simple_list_item_1, array_list);
// listview.setAdapter(adapter);
gv.setAdapter(adapter);
gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
/*SOME CODE*/ }
Это Stablearrayadapter класс
public class StableArrayAdapter extends ArrayAdapter<String> {
HashMap<String, Integer> mIdMap = new HashMap<String, Integer>();
public StableArrayAdapter(Context context, int textViewResourceId, List<String> objects) {
super(context, textViewResourceId, objects);
for (int i = 0; i < objects.size(); ++i) {
mIdMap.put(objects.get(i), i);
}
}
класс XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/textView_descrip"
android:layout_alignParentLeft="true"
android:layout_marginLeft="70dp"
android:layout_alignParentTop="true"
android:layout_marginTop="50dp"/>
</RelativeLayout>
activty для описания
public class desc_view extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); //To change body of overridden methods use File | Settings | File Templates.
setContentView(R.layout.desc_view);
/* try {
Intent recv = getIntent();
ArrayList<String> array_list_recvd = recv.getStringArrayListExtra("array_list2");
int intValue = recv.getIntExtra("intVariableName", 0);
TextView tv = (TextView) findViewById(R.id.textView_descrip);
tv.setText(array_list_recvd.get(intValue));
setContentView(tv);
} catch (Exception e) {
Log.d("Error Second :", e.toString());
}*/
}
}
это ничего даже кода в GridView @Samir не показывают. –
попробуйте распечатать данные в курсоре do ... while цикл может быть нулевым и проверить, используете ли вы правый arraylist –