我的项目中有2个活动,其中第一个活动有一个列表视图和一个按钮,第二个活动有EditText
和其他信息以及Button
。我想在用户输入第一个活动ListView
的详细信息时从第二个活动传递数据。在我输入数据时,它不会显示在ListView
中..问题是什么?
主要活动: -
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
ListView lv = (ListView) findViewById(R.id.theListView);
if(requestCode==1) {
if (resultCode == RESULT_OK) {
String det_rec = data.getStringExtra("Details");
ArrayList<String> strArr = new ArrayList<String>();
for(int i=0;i<det_rec.length();i++) {
strArr.add("Row :" + i);
}
ListAdapter adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, strArr);
lv.setAdapter(adapter);
}
if (resultCode == RESULT_CANCELED) {
return;
}
}
// ListView lv = (ListView) findViewById(R.id.theListView);
// String det_rec = data.getStringExtra("Details");
// ArrayList<String> strArr = new ArrayList<String>();
// for(int i=0;i<det_rec.length();i++){
// strArr.add("Row :"+i);
//}
//ListAdapter adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, strArr);
// lv.setAdapter(adapter);
}
}
第二项活动: -
public void add_usr_tsk_btn(View view){
EditText et = (EditText)findViewById(R.id.task_name_edit_txt);
String detls = String.valueOf(et.getText());
Intent goback = getIntent();
goback.putExtra("Details",detls);
setResult(RESULT_OK,goback);
finish();
}
public void cancl_btn(View view) {
Intent goBack = getIntent();
finish();
}
}
活动主要: -
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="left"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1">
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/theListView">
</ListView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Task"
android:id="@+id/button1"
android:background="@drawable/addtask"
android:onClick="onAddCLick"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shwmap"
android:text="Show Map"
android:id="@+id/button2"
android:onClick="onMapbtnClck"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Settings"
android:id="@+id/button3"
android:onClick="onSetngClck"
/>
</LinearLayout>
第二项活动: -
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="left">
<EditText
android:layout_width="364dp"
android:layout_height="wrap_content"
android:id="@+id/task_name_edit_txt"
android:hint="Enter your Details" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="250dp"
android:layout_height="wrap_content"
android:text="Set Location"
android:id="@+id/textView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Set_loc_btn"
android:onClick="set_usr_loc"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Add_task_btn"
android:onClick="add_usr_tsk_btn"
android:id="@+id/add_task"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cancel_btn"
android:onClick="cancl_btn"
android:id="@+id/cancel_btn"/>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:1)
您使用以下代码传递数据:
goback.putExtra("Details",detls);
你可以使用以下代码:
String det_rec = data.getStringExtra("details");
如您所见Details
与details
不同,请更改其中一个,
当您使用onActivityResult
时,您必须检查requestCode
和resultCode
,要使用该字段,您可以阅读
This
我认为你需要阅读创建列表教程,你可以从This开始,因为我的这个实现根本不起作用:
ListAdapter adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, Integer.parseInt(det_rec));
您必须将ArrayList
和代码中的ArrayList<String>
传递给适配器,而不是Integer.parseInt(det_rec)