フラグメント内に ListView を作成しましたが、ListView の選択を別のアクティビティにリンクできないようです。誰かがこれで私を助けてくれることを願っています。フラグメント内にない場合でも同じことを実行できます。
以下のコードは、他のアクティビティとリンクする通常の ListView を示しています。
public class Main extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_Main);
ListView listView2 = (ListView) findViewById(R.id.listView2);
String[] values = new String[] { "Apple", "Orange", "Banana", "Pineapple", "Kiwi"};
ArrayAdapter <String> adapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);
listView2.setAdapter(adapter2);
listView2.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch( position )
{
case 0: Intent newActivity = new Intent(Main.this, FirstChoice.class);
startActivityForResult(newActivity, 0);
break;
case 1: Intent newActivity1 = new Intent(Main.this, Second Choice.class);
startActivityForResult(newActivity1, 1);
break;
.
.
.
以下は私の現在のフラグメントコードです:
public class Tab1 extends ListFragment{
ListView list;
ArrayAdapter <String> adapter;
Context context;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
context = getActivity();
View view;
view = inflater.inflate(R.layout.activity_firstchoice, null);
String [] elements = context.getResources().getStringArray(R.array.thelist);
list = (ListView) view.findViewById(R.id.listView1);
adapter = new ArrayAdapter <String> (context, R.layout.activity_ecfs, R.id.section_label, elements);
list.setAdapter(adapter);
return view;
}
public void onListItemClick(ListView l, View v, int position, long id) {
// Do something with the data
switch( position )
{
case 0: Intent newActivity = new Intent();
startActivityForResult(newActivity, 0);
break;
case 1: Intent newActivity1 = new Intent();
startActivityForResult(newActivity1, 1);
break;
case 2: Context context2 = getApplication();
CharSequence text2 = "Not Available";
int duration2 = Toast.LENGTH_SHORT;
Toast toast2 = Toast.makeText(context2, text2, duration2);
toast2.show();
break;
}
}
}
一番上のListViewと似たようなことをしたいと思っていましたが、フラグメント内のものを使用していました。