Приложение, которое я создаю, представляет собой простое приложение для вопросов и ответов. Вопросы (в строчном массиве) находятся в пользовательском listView.Запустите действие из ListView, получите дополнительные данные из строки и добавьте изображение в макет
Что бы я хотел сделать, так это то, что когда я нажимаю на вопрос, он берет меня на один макет, и соответствующий ответ (из строкового массива) появится по отношению к заданному вопросу, т.е. если был задан вопрос 3, ответ 3 будет появляться. Кроме того, под каждым ответом появляется другое изображение, например. pic1, pic2, pic3. Я считаю, что класс Main должен реализовать onItemClickListener и использовать переключатель/case. Я думаю, что я должен использовать намеренные дополнения, но не могу найти, как написать код для этого процесса.
Вопросы массив строк:
<resources>
<string-array name="questions">
<item >q1</item>
<item >q2</item>
<item >q3</item>
</string-array>
</resources>
основной макет для ListView вопросы:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Questions" />
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
list_View расположение:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
Главная Java класс:
общественного класса Main расширяет ListActivity {
общественного недействительными OnCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState);
setContentView (R.layout.main);setListAdapter(new MyAdapter(this, android.R.layout.simple_list_item_1, R.id.textView1, getResources() .getStringArray(R.array.questions))); }
частный класс MyAdapter расширяет ArrayAdapter {
public MyAdapter(Context context, int resource, int textViewResourceId, String[] strings) { super(context, resource, textViewResourceId, strings); } public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater)
getSystemService (Context.LAYOUT_INFLATER_SERVICE); Показать строку = inflater.inflate (R.layout.list_view, parent, false); String [] items = getResources(). GetStringArray (R.array.вопросов);
TextView tv = (TextView) row.findViewById(R.id.textView1); tv.setText(items[position]); return row; } }
}
Ответы строковый массив
<resources>
<string-array name="answers">
<item>a1</item>
<item>a2</item>
<item>a3</item>
</string-array>
</resources>
макет Ответ
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
</LinearLayout>
Ответ класса
public class Answer extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.answer);
}
}
, пожалуйста, приложите некоторые усилия для поиска, прежде чем задавать вопрос. –
Я проделал много поисков и не могу обдумать это. Я буду продолжать пытаться. Cheers – SAnderoid