2016-08-13 9 views
1

ホーム画面でボタンを押したときに特定の番号に電話をかけようとしています。しかし、私はエラーが発生しています。私は正しい方法を実装することができません。私は間違って何をしていますか?助けてください。どんな精巧な答えも非常に役に立つでしょう。 事は@overrideは赤、セミコロンも赤です。私はそれを間違って実装していると思います。電話通話ボタンをクリックしたときの目的

public class ActivityHome extends Fragment implements OnItemClickListener { 
GridView gridview; 
AdapaterGridView gridviewAdapter; 
ArrayList<GridViewItem> data = new ArrayList<GridViewItem>(); 
Button btemergency; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View v = inflater.inflate(R.layout.fragment_list, container, false); 

    gridview = (GridView) v.findViewById(R.id.gridView1); 
    gridview.setOnItemClickListener(this); 
    btemergency = (Button) v.findViewById(R.id.btemergency); 

    Button call_button = (Button)findViewById(R.id.btemergency); 
    call_button.setOnClickListener(new View.OnClickListener() { 
     @Override public void onClick(View view) 
     { Intent callIntent = new Intent(Intent.ACTION_CALL); 
      callIntent.setData(Uri.parse("tel:123456789")); 
      startActivity(callIntent); } 

    }); 

    data.add(new GridViewItem(getResources().getString(R.string.menu_product), getResources().getDrawable(R.drawable.ic_product))); 
    data.add(new GridViewItem(getResources().getString(R.string.menu_cart), getResources().getDrawable(R.drawable.ic_cart))); 


    data.add(new GridViewItem(getResources().getString(R.string.menu_info), getResources().getDrawable(R.drawable.ic_info))); 


    data.add(new GridViewItem(getResources().getString(R.string.menu_contact), getResources().getDrawable(R.drawable.ic_contact))); 

    setDataAdapter(); 

    return v; 


} 

// Set the Data Adapter 
private void setDataAdapter() { 
    gridviewAdapter = new AdapaterGridView(getActivity(), R.layout.fragment_list_item, data); 
    gridview.setAdapter(gridviewAdapter); 
} 

@Override 
public void onItemClick(final AdapterView<?> arg0, final View view, final int position, final long id) { 
    if (position==0){ 
     startActivity(new Intent(getActivity(), ActivityCategoryList.class)); 
     getActivity().overridePendingTransition (R.anim.open_next, R.anim.close_next); 
    } 
    else if (position==1){ 
     startActivity(new Intent(getActivity(), ActivityCart.class)); 
     getActivity().overridePendingTransition (R.anim.open_next, R.anim.close_next); 


    } 
    else if (position==2){ 
     startActivity(new Intent(getActivity(), ActivityInformation.class)); 
     getActivity().overridePendingTransition (R.anim.open_next, R.anim.close_next); 


    } 
    else { 
     startActivity(new Intent(getActivity(), ActivityContactUs.class)); 
     getActivity().overridePendingTransition (R.anim.open_next, R.anim.close_next); 
    } 

}} 
+1

を試してみて、我々は、エラーが何であるかを見ることができるようにあなたのスタックトレースを投稿してください。 –

+0

@YasinYaqoobi申し訳ありませんが、アンドロイドに新しいので、あなたが何を求めているのかわかりません。 –

+0

使用しているtargetSdkVersionとは何ですか? – Prasad

答えて

0

最後に余分な中カッコがあり、onClickメソッドはどこからオーバーライドされていますか?私はあなたがView.OnClickListenerからオーバーライドすると仮定します。代わりに次のように試してみて、少なくともコンパイル時のエラーを解決するかどうか確認できますか?

public class ActivityHome extends Fragment implements OnItemClickListener{ 
    GridView gridview; 
    AdapaterGridView gridviewAdapter; 
    ArrayList<GridViewItem> data = new ArrayList<GridViewItem>(); 
    Button btemergency; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     View v = inflater.inflate(R.layout.fragment_list, container, false); 

     gridview = (GridView) v.findViewById(R.id.gridView1); 
     gridview.setOnItemClickListener(this); 
     btemergency = (Button) v.findViewById(R.id.btemergency); 

     Button call_button = (Button)v.findViewById(R.id.btemergency); 
     call_button.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) 
       { 
       Intent callIntent = new Intent(Intent.ACTION_DIAL); 
       callIntent.setData(Uri.parse("tel:123456789")); 
       startActivity(callIntent); 
       } 

      }); 
     data.add(new GridViewItem(getResources().getString(R.string.menu_product), getResources().getDrawable(R.drawable.ic_product))); 
     data.add(new GridViewItem(getResources().getString(R.string.menu_cart), getResources().getDrawable(R.drawable.ic_cart))); 


     data.add(new GridViewItem(getResources().getString(R.string.menu_info), getResources().getDrawable(R.drawable.ic_info))); 


     data.add(new GridViewItem(getResources().getString(R.string.menu_contact), getResources().getDrawable(R.drawable.ic_contact))); 

     setDataAdapter(); 

     return v; 


    } 

    // Set the Data Adapter 
    private void setDataAdapter() { 
     gridviewAdapter = new AdapaterGridView(getActivity(), R.layout.fragment_list_item, data); 
     gridview.setAdapter(gridviewAdapter); 
    } 

    @Override 
    public void onItemClick(final AdapterView<?> arg0, final View view, final int position, final long id) { 
     if (position == 0) { 
      startActivity(new Intent(getActivity(), ActivityCategoryList.class)); 
      getActivity().overridePendingTransition(R.anim.open_next, R.anim.close_next); 
     } else if (position == 1) { 
      startActivity(new Intent(getActivity(), ActivityCart.class)); 
      getActivity().overridePendingTransition(R.anim.open_next, R.anim.close_next); 


     } else if (position == 2) { 
      startActivity(new Intent(getActivity(), ActivityInformation.class)); 
      getActivity().overridePendingTransition(R.anim.open_next, R.anim.close_next); 


     } else { 
      startActivity(new Intent(getActivity(), ActivityContactUs.class)); 
      getActivity().overridePendingTransition(R.anim.open_next, R.anim.close_next); 
     } 

    } 

} 
+0

私は試しました、それ以上のエラーはありません。しかし、私がボタンをクリックすると、何も起こりません。 –

+0

'Intent callIntent =新しいインテント(Intent.ACTION_CALL);を' Intent callIntent =新しいインテント(Intent.ACTION_DIAL) 'に置き換えてみてください。 – 0p3n5ourcE

+0

また、ボタンでなければなりません。call_button =(Button)v.findViewById(R.id。緊急事態); – 0p3n5ourcE

0

だけ

<uses-permission android:name="android.permission.CALL_PHONE" /> 

だけでアプリケーションタグの上のあなたが正しいやり方でマニフェストファイルにアクセス権を追加したことを確認し、ボタンをクリックの上でこのコードを配置します。

Intent callIntent = new Intent(Intent.ACTION_CALL); 
       callIntent.setData(Uri.parse("tel:0377778888")); 
       startActivity(callIntent); 

結果をお知らせください。

+0

私はonclicklistnerを設定していないと思います。どこでそれを行うのですか?エミュレータまたは電話機でボタンが死んでいます。 –

0

この

//コール機能

Intent callIntent = new Intent(Intent.ACTION_CALL); 
       callIntent.setData(Uri.parse("tel:"+number)); 
       startActivity(callIntent); 
関連する問題