2015-11-03 50 views
0

当使用带有辅助功能的Android列表视图标题(Google Talkback)时,会读取标题的全部内容。所以,想象我有这样一个标题观点:Android列表视图标题辅助功能问题

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
tools:context=".LinearLayout" > 

<Button 
    android:text="BUTTON" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Text 1" 
    android:paddingTop="10px"/> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Text 2" 
    android:paddingTop="10px"/> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Text 3" 
    android:paddingTop="10px"/> 

每当我点击ALL TextView的标题宣布获得头什么。所以在这种情况下,如果我点击文本3,系统会宣布“TEXT 1,TEXT 2,TEXT 3”。它是自动的。我如何让它不宣布所有的东西只是用户点击的项目?

这里是我的列表视图代码,它只是标准的东西:

public class MainActivity extends Activity { 
    ListView listView ; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.content_main); 

     // Get ListView object from xml 
     listView = (ListView) findViewById(R.id.list); 

     // Defined Array values to show in ListView 
     String[] values = new String[] { "Android List View", 
       "Adapter implementation", 
       "Simple List View In Android", 
       "Create List View Android", 
       "Android Example", 
       "List View Source Code", 
       "List View Array Adapter", 
       "Android Example List View" 
     }; 

     // Define a new Adapter 
     // First parameter - Context 
     // Second parameter - Layout for the row 
     // Third parameter - ID of the TextView to which the data is written 
     // Forth - the Array of data 

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, android.R.id.text1, values); 


     View header = getLayoutInflater().inflate(R.layout.header, null); 


     listView.addHeaderView(header); 

     // Assign adapter to ListView 
     listView.setAdapter(adapter); 

     // ListView Item Click Listener 
     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
            int position, long id) { 

       // ListView Clicked item index 
       int itemPosition  = position; 

       // ListView Clicked item value 
       String itemValue = (String) listView.getItemAtPosition(position); 

       // Show Alert 
       Toast.makeText(getApplicationContext(), 
         "Position :" + itemPosition + " ListItem : " + itemValue, Toast.LENGTH_LONG) 
         .show(); 

      } 

     }); 
    } 

} 

回答

0

在我headerView根我设置以下命令良API 16和高达整顿主要问题:

android:importantForAccessibility="no"