首次用戶登錄並進入主活動,其中包含默認打開的homefragment。現在,用戶從這裏進入新的活動,在該活動中添加一些文本來編輯文本並單擊添加按鈕,該按鈕將用戶帶回到主活動中的主頁片段。
現在我的問題是如何將此文本添加到我的列表視圖。
默認情況下,Home片段首次加載它不包含任何包。
首先,當我的主要活動加載這個是什麼原因引發:
public class HomeFragment extends Fragment {
ListView lv;
public HomeFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
return rootView;
}
}
加載家裏片段它,我需要一些數據添加到它的列表視圖之後。 現在我點擊一個菜單選項進入新的活動。
這裏我一些文本添加到的EditText並通過意向回mainactivity數據如下圖所示:
addtask = (Button) findViewById(R.id.btnaddlist);
findViewById(R.id.btnaddlist).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View arg0) {
EditText edit = (EditText) findViewById(R.id.tskname);
Intent i = new Intent(AddTask.this,
MainActivity.class);
String TaskName = edit.getText().toString();
i.putExtra("NewTask", TaskName);
startActivity(i);
}
});
最後我得到使用意圖的值,如下所示:
String AddedTask ;
if (intent.hasExtra("NewTask")) {
AddedTask = this.getIntent().getExtras().getString("NewTask");
Log.d("Task Added:",AddedTask);
Bundle bundle = new Bundle();
bundle.putString("Task Added", AddedTask);
HomeFragment fragobj = new HomeFragment();
fragobj.setArguments(bundle);
}
現在我的問題是我在homefragment中有一個列表視圖,所以如何將此值添加到列表視圖 我試圖使用這種方式,但logcat顯示爲空異常,因爲當我的mainactivity首先加載主片段負載和我沒有得到任何價值f ROM意圖:
public class HomeFragment extends Fragment {
ListView lv;
public HomeFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
lv = (ListView)rootView.findViewById(R.id.tasklist);
Bundle b = getActivity().getIntent().getExtras();
if (b != null) {
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> Listadapter;
String ItemName = getArguments().getString("Task Added");
list.add(ItemName);
Listadapter = new ArrayAdapter<String>(getActivity().getApplicationContext(),android.R.layout.simple_list_item_1, list);
lv.setAdapter(Listadapter);
Listadapter.notifyDataSetChanged();
}
return rootView;
}
}
任何人都可以幫我解決這個問題嗎?
爲什麼不使用startActivityForResult()? – JafarKhQ
@ JafarKhQ-你能告訴我樣本我該怎麼去startActivityForResult() – coder