2016-12-29 31 views
-4

私はカスタムリストビューを作成しました。そのレイアウトで編集テキストが作成されました。しかし、私はこの編集テキストの中で編集することができません。リストビュー内で編集可能な編集テキストを取得する方法

list.setAdapter(new yourAdapter(NewActivity.this, new String[] { "test1", 
      "test2","test3" })); 

と私のyourAdapterクラスは、私がEDIT_TEXTで編集することはできません

class yourAdapter extends BaseAdapter { 

Context context; 
String[] data; 
private static LayoutInflater inflater = null; 

public yourAdapter(Context context, String[] data) { 
    // TODO Auto-generated constructor stub 
    this.context = context; 
    this.data = data; 
    inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
} 

@Override 
public int getCount() { 
    // TODO Auto-generated method stub 
    return data.length; 
} 

@Override 
public Object getItem(int position) { 
    // TODO Auto-generated method stub 
    return data[position]; 
} 

@Override 
public long getItemId(int position) { 
    // TODO Auto-generated method stub 
    return position; 
} 



@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
    View vi = convertView; 
    if (vi == null) 
     for(int i =0; i<=getCount();i++){ 
      if(data[position].equals("grouped")){ 
       vi = inflater.inflate(R.layout.multipleselect, null); 
      } 
      else if(data[position].equals("kuchbhi")) 
       vi = inflater.inflate(R.layout.yes_or_no, null); 
      else { 
       vi = inflater.inflate(R.layout.write_answer, null); 
       //edit_text 
       EditText edit_text = (EditText) vi.findViewById(R.id.edit_text); 
      } 


     } 

    /* TextView text = (TextView) vi.findViewById(R.id.text); 
    text.setText(data[position]);*/ 
    return vi; 
} 

}

です。私は、テキストキーボードを開いて編集をクリックしても、何も編集テキストの中には表示されません。

+0

郵便上記のコードはマシュマロでクラッシュする必要があり – Nithinlal

+0

ウルクラッシュログの猫をこのライブラリを使用することができます。新しい権限システムを使用する必要があります。 –

答えて

0

マシュマロウは手動で許可を求めます。マニフェストファイルにロケーション権限をすでに追加しておく必要があることは間違いありませんが、今では手作業で権限を求めるためにいくつかのコードを追加する必要があります。 あなたは https://github.com/Karumi/Dexter

0
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
         if (checkPermission()) { 
          //do your work 
         } else { 
          requestPermission(); 
         } 
        } 
      } 


      protected boolean checkPermission() { 
       int result = ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION); 
       if (result == PackageManager.PERMISSION_GRANTED) { 
        return true; 
       } else { 
        return false; 
       } 
      } 

      protected void requestPermission() { 

       if (ActivityCompat.shouldShowRequestPermissionRationale(this, android.Manifest.permission.ACCESS_FINE_LOCATION)) { 
        Toast.makeText(this, "Write External Storage permission allows us to do store images. Please allow this permission in App Settings.", Toast.LENGTH_LONG).show(); 
       } else { 
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
         requestPermissions(new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION}, 100); 
        } 
       } 
      } 

     @Override 
     public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { 
      switch (requestCode) { 
       case 100: 
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
         //do your work 
        } else { 
         Log.e("value", "Permission Denied, You cannot use local drive ."); 
        } 
        break; 
      } 
     } 
関連する問題