2015-03-07 2 views
0

Ошибка при отображении диалогового окна предупреждения при нажатии на элемент списка.Ошибка при отображении диалогового окна с предупреждением при нажатии на элемент списка.

Код приведен ниже. Это программа, выполненная в android sqlite. Полученные данные отображаются в виде списка, но диалог предупреждения не работает должным образом для редактирования и удаления.

пожалуйста, помогите мне с кодом ......

import java.util.ArrayList; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.PopupWindow; 

public class Display11 extends Activity { 
    ListView listview; 
    PopupWindow popup; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.display1); 

     listview=(ListView)findViewById(R.id.listView1); 
     Intent in=getIntent(); 
     ArrayList<String> a=in.getStringArrayListExtra("Key"); 
     ArrayAdapter<String> dis=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,a); 
     listview.setAdapter(dis); 
     listview.setTextFilterEnabled(true); 
     listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position,long rowId) { 
       // TODO Auto-generated method stub 

     ///public void OnItemClick(AdapterView<?> parent, View view, int position,long rowId){ 
       int itemposition = position; 
       String itemValue = (String)listview.getItemAtPosition(position); 
       // TODO Auto-generated method stub 



       AlertDialog.Builder alert = new AlertDialog.Builder(getApplicationContext()); 
       /*LayoutInflater inflater = LayoutInflater.from(getApplicationContext()); 
       View view1 =inflater.inflate(R.layout.alert_dialog,null); 
       alert.setView(view1);*/ 
       //ad.setView(inflater.inflate(R.layout.alert_dialog, null)); 
       popup = new PopupWindow(getBaseContext()); 
       //popup.setContentView(alert_) 
       alert.setMessage("Database Manager"); 

       alert.setIcon(R.drawable.ic_launcher); 
       alert.setTitle("Terms of Service"); 

       alert.setPositiveButton("edit",new DialogInterface.OnClickListener(){ 

        public void onClick(DialogInterface arg0, int arg1) { 
         // TODO Auto-generated method stub 
         Intent positiveActivity=new Intent(getApplicationContext(),com.cerebtec.contactdb.PositiveActivity.class); 
        startActivity(positiveActivity); 
        }}); 

       alert.setNegativeButton("delete",new DialogInterface.OnClickListener(){ 

        public void onClick(DialogInterface dialog, int which) { 
         // TODO Auto-generated method stub 
         Intent negativeActivity=new Intent(getApplicationContext(),com.cerebtec.contactdb.NegativeActivity.class); 
        startActivity(negativeActivity); 
        }}); 
       //ad.setNeutralButton("Cancel",null); 
       //ad.setCancelable(false); 


       //AlertDialog alert=ad.create(); 
       //alert.setView(view1); 
       alert.create(); 
       alert.show(); 
      }}); 
     }} 
+0

Какая ошибка? –

+0

опубликуйте свой logcat –

+0

Не показывает диалог с оповещением – Anoop

ответ

1

Ваша проблема в этом коде:

AlertDialog.Builder alert = new AlertDialog.Builder(getApplicationContext());

Применение неправильный контекст для вещей UI, вам нужно активность. Вы должны использовать это:

AlertDialog.Builder alert = new AlertDialog.Builder(Display11.this);

+0

nice .it works .. спасибо – Anoop

Смежные вопросы