Добрый день, пытаюсь реализрвать справочник.Нужно ,чтобы по клику на определенный элемент ListView был переход на новое Активити. Переход проходит ,но не получается связать TextView с определенным элементом листа
public class Main extends ListActivity {
String mainMenu[] = new String []{"1","2","3"};
Intent intent;
ArrayAdapter<String> main;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
main = new ArrayAdapter<String>(this,
R.layout.my_list, mainMenu);
setListAdapter(main);
}
protected void onListItemClick(ListView l, View v, int position, long id){
super.onListItemClick(l, v, position, id);
switch(position){
case 1:{
String itemname = new Integer(position).toString();
intent = new Intent(this,Second.class);
intent.putExtra("defStrID",itemname);
startActivity(intent);
break;}
}
}
}
Второе Окно
public class Second extends Activity {
TextView tv;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
tv = new TextView(this);
Intent intent = getIntent();
String str = intent.getStringExtra("defStrID");
if(str.equals("1")){
tv.setText("SOME TEXT");
}
}
}
ListView, Intent, Extra
-
- Сообщения: 138
- Зарегистрирован: 27 июн 2014, 01:41
Re: ListView, Intent, Extra
попробуй так:
TextView text = (TextView)findViewById(R.id.text);
Bundle bundle = getIntent().getExtras();
if(bundle != null){
text.setText(bundle.getString("text"));
}
TextView text = (TextView)findViewById(R.id.text);
Bundle bundle = getIntent().getExtras();
if(bundle != null){
text.setText(bundle.getString("text"));
}
Re: ListView, Intent, Extra
Может вместо String itemname = new Integer(position).toString() лучше String.valueOff(position)
или даже
protected void onListItemClick(ListView l, View v, int position, long id){
super.onListItemClick(l, v, position, id);
intent = new Intent(this,Second.class);
String itemname = adapter.getItem(position);
intent.putExtra("defStrID", itemname);
startActivity(intent);
}
и далее
Intent intent = getIntent();
if (intent != null && intent.hasExtra("defStrID") {
//do something }
или даже
protected void onListItemClick(ListView l, View v, int position, long id){
super.onListItemClick(l, v, position, id);
intent = new Intent(this,Second.class);
String itemname = adapter.getItem(position);
intent.putExtra("defStrID", itemname);
startActivity(intent);
}
и далее
Intent intent = getIntent();
if (intent != null && intent.hasExtra("defStrID") {
//do something }
Java Core -> JDBC -> GoF -> Android SDK ->...
Телепрограмма в твоем смарте Телепрограмма
Телепрограмма в твоем смарте Телепрограмма