0
車のブランドリストからBMWを選択した場合のように、1つのlisviewから別のリストビューにデータを渡すことができるコードを書く方法リストビューの特定の車シリーズを選択できるようになりますAndroid ListView別のリストビューにデータを渡す
main.XML
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="20sp" >
</TextView>
CarActivity.JAVA
package car.brand.test;
package car.brand.test;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class CarActivity extends ListActivity {
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
String[] values = new String[] { "BMW", "Mercedes","Nissan"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
String item = (String) getListAdapter().getItem(position);
Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show();
}
}
私は一般的にこれをお勧めしません。データを交換するだけでなく、アイテムをクリックしたときに違った振る舞いをしたいと思うかもしれません。また、単一行以外のレイアウトを使用したい場合はどうしますか?それは本質的に異なるデータですが、通常は新しいListViewを使用するほうがよいでしょう。 – kabuko
新しいListViewまたは新しいアクティビティを使用すると、OPの問題が過剰に発生します。しかし、問題がより複雑であれば、私はあなたに同意します。私はちょうどオプションを提示し、単純なものを単純に保つように努めました。 – neevek
だから、ユーザーがBMWを選択すると、データを消去してすべてのBMWをロードしますが、その代わりにメルセデスが気に入ったと思いますか? 1つのアクティビティがある場合、バックボタンを手動で処理して独自のナビゲーションスタックを管理しない限り、ユーザーが戻るボタンをクリックすると、すべてのものから復帰します。新しいアクティビティを使用することは過労ではありません。それは標準です。 – kabuko