открыть новое окно из списка - PullRequest
1 голос
/ 21 марта 2012

Я составил список стран, и я хочу, чтобы он открывал новое окно, когда щелкнул один из его элементов, и я не могу заставить его это сделать = /
вот мой код Java

public class Country_list extends ListActivity{<br>
    @Override<br>
    protected void onCreate(Bundle savedInstanceState) {<br>
        // TODO Auto-generated method stub<br>
        super.onCreate(savedInstanceState);<br>
        setContentView(R.layout.main);<br>

        setListAdapter(new MyAdapter(this,
                android.R.layout.simple_list_item_1,R.id.imageView1,
                getResources().getStringArray(R.array.country)));
    }
  private class MyAdapter extends ArrayAdapter<String>{

        public MyAdapter(Context context, int resource, int textViewResourceId,
                String[] strings) {
            super(context, resource, textViewResourceId, strings);
            // TODO Auto-generated constructor stub
}
        public View getView(int position, View convertView, ViewGroup parent){

        LayoutInflater inflater= (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            View row = inflater.inflate(R.layout.list_country,parent, false);

            String[] items=getResources().getStringArray(R.array.country);

            ImageView iv= (ImageView) row.findViewById(R.id.imageView1);
            TextView tv=(TextView) row.findViewById(R.id.textView1);

            tv.setText(items[position]);

            if(items[position].equals("English")){
                iv.setImageResource(R.drawable.ic_english_h);
            }
            else if(items[position].equals("French")){
                iv.setImageResource(R.drawable.ic_france_h);
            }
            else if(items[position].equals("German")){
                iv.setImageResource(R.drawable.ic_german_h);
            }
            else if(items[position].equals("Turkish")){
                iv.setImageResource(R.drawable.ic_turky_h);
            }
            else if(items[position].equals("Chinese")){
                iv.setImageResource(R.drawable.ic_china_h);
            }
            else if(items[position].equals("Italian")){
                iv.setImageResource(R.drawable.ic_italy_h);
            }
            else if(items[position].equals("Russian")){
                iv.setImageResource(R.drawable.ic_russia);
            }
            return row;
        }
    }

1 Ответ

0 голосов
/ 21 марта 2012

Реализация OnItemClickListener в вашей основной деятельности, которая содержит список

public void onItemClick(AdapterView<?> arg0, View view, int position,long id) {
    Intent intent = new Intent(this, SecondActivity.class);
    intent.putExtra("data1", "countryname");
    intent.putExtra("data2", "countryCode");
    startActivity(intent);
}

Если вы хотите передать данные во второе действие, укажите их в функции putExtra, вы можете извлечь данные из второго действия, как показано ниже

String data1 = getIntent().getStringExtra("data1");
String data2 = getIntent().getStringExtra("data2");

Убедитесь, что вы добавили вторую активность в файл манифеста

<activity android:name=".SecondActivity">
     <intent-filter >
          <action android:name="android.intent.action.VIEW" />

          <category android:name="android.intent.category.LAUNCHER" />
     </intent-filter>
</activity>

Надеюсь, это поможет.

...