0
我有一個簡單的編輯文本對話框內,我點擊確定後輸入一些文本我有一個列表查看在一個片段,我需要添加該文本到我的listview在片段。簡單的列表視圖崩潰的應用程序
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new HomeFragment();
break;
這是我Homefragment:
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.app.Fragment;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
public class HomeFragment extends Fragment {
public HomeFragment(){}
ListView lv;
List<String> li;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
lv = (ListView) getView().findViewById(R.id.itemslistView);
li=new ArrayList<String>();
li.add("Apple");
li.add("Mango");
li.add("Orange");
ArrayAdapter<String> adp=new ArrayAdapter<String>
(getActivity().getApplicationContext(),R.layout.list,li);
lv.setAdapter(adp);
return rootView;
}
}
當我運行這個應用程序被墜毀,我沒有得到在logcat中的任何錯誤。
這是我input_dialog:
protected void showInputDialog() {
// get prompts.xml view
LayoutInflater layoutInflater = LayoutInflater.from(MainActivity.this);
View promptView = layoutInflater.inflate(R.layout.input_dialog, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
MainActivity.this);
alertDialogBuilder.setView(promptView);
// setup a dialog window
alertDialogBuilder
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
})
.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
// create an alert dialog
AlertDialog alert = alertDialogBuilder.create();
alert.show();
}
這是我家的片段:
public class HomeFragment extends Fragment {
public HomeFragment() {
}
ListView lv;
List<String> li;
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.itemslistView);
View editView = inflater.inflate(R.layout.input_dialog, container,
false);
EditText edit = (EditText) editView.findViewById(R.id.txtlist);
String ItemName = edit.getText().toString();
lv = (ListView) getView().findViewById(R.id.itemslistView);
li = new ArrayList<String>();
li.add(ItemName);
ArrayAdapter<String> adp = new ArrayAdapter<String>(getActivity()
.getApplicationContext(), R.layout.list, li);
lv.setAdapter(adp);
return rootView;
}
}
感謝您的時間..這做了魔術 – coder 2014-12-03 05:04:29
@coder喲歡迎好友! – 2014-12-03 05:05:15
@M DI有一個按鈕,如果我點擊按鈕時會出現一個帶有editext的對話框,並且當我試圖讓文本發生同樣的事情時,應用程序再次崩潰 – coder 2014-12-03 05:36:56