2016-04-10 8 views
0

'a dokunmadan yürüdüğümde, kullanıcı dokunulduğunda defferent işlevlerini yürütmek istediğim üç TouchableOpacities var.ama ancak, uygulamayı başlattıktan sonra, dokunmadan çalışabilen opakitelerdeki işlevler, sonsuza dek çalıştırılıyor.İşte bunu çözebilirim.TouchableOpacity

TouchableOpacities

<View style={styles.headerButtonMain}> 
        <View style={styles.headerButton}> 
          <TouchableOpacity style={{ 
           marginRight: 25 
          }} onPress={this.loadListData()}> 
           <Image style={styles.button} source={require('./img/imgCase.png')}/> 
          </TouchableOpacity> 

          <TouchableOpacity style={{ 
           marginRight: 25 
          }} onPress={this.loadCustomerData()}> 
           <Image style={styles.button} source={require('./img/imgCall.png')}/> 
          </TouchableOpacity> 
          <TouchableOpacity style={{ 
           marginRight: 25 
          }} onPress={this._onPressButton}> 
           <Image style={styles.button} source={require('./img/imgCase.png')}/> 
          </TouchableOpacity> 
        </View> 
        <Text style={{ 
         fontSize: 18, 
         color: '#fff', 
         marginLeft: 15, 
         marginTop: 38, 
         marginBottom: 20 
        }}>My Cases</Text> 
       </View> 

sorun onPress bir işlev bekliyor olmasıdır fonksiyonunu

render() { 
      if(this.viewCaseData === true){ 
      var caseList = <View > 
       <ListView dataSource={this.state.dataSource} renderRow={this.renderRow.bind(this)}></ListView> 

      </View> 
    }else{ 
      var caseList = <ScrollView style={{ 
       marginLeft: 10, 
       marginRight: 10 
      }}> 
       <View style={{ 
        marginBottom: 10, 
        flexDirection: 'row' 
       }}> 
        <View> 
         <Text style={styles.textLabel}>Search</Text> 
         <Text style={styles.textDetail}>value</Text> 
        </View> 
        <View > 
         <TouchableOpacity style={{ 
          marginLeft: 320, 
          height: 30, 
          width: 30, 
          backgroundColor: '#DA4336' 
         }}> 
          <Text style={{ 
           color: '#fff' 
          }}>Search</Text> 
         </TouchableOpacity> 
        </View> 
       </View> 

       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Customer Category</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 
       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Customer Category Type</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Customer Code Type</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Customer Code</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>BranchLocation</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Title</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Full Name</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Initials</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Lastname</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Preferred Name</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>DateOf Birth</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Gender</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Mother Maiden Name</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Nationality</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Religon</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Marital Status</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Preferred Language</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Mobile01</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Mobile02</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 

       <View style={styles.seperator}/> 
       <View style={styles.textMainView}> 
        <Text style={styles.textLabel}>Email</Text> 
        <Text style={styles.textDetail}>value</Text> 
       </View> 
      </ScrollView> 
      } 

      return (
       <View > 
        <View style={styles.headerView}> 

         <View > 
          <View style={styles.circle}> 
           <Text style={{ 
            fontSize: 40, 
            fontWeight: 'bold', 
            color: '#fff', 
            marginLeft: 18 
           }}>A</Text> 
          </View> 

          <Text style={{ 
           fontSize: 18, 
           color: '#fff', 
           marginLeft: 15, 
           marginTop: 5, 
           marginBottom: 20 
          }}>User Name</Text> 
         </View> 

         <View style={styles.headerButtonMain}> 
          <View style={styles.headerButton}> 
            <TouchableOpacity style={{ 
             marginRight: 25 
            }} onPress={this.loadListData()}> 
             <Image style={styles.button} source={require('./img/imgCase.png')}/> 
            </TouchableOpacity> 

            <TouchableOpacity style={{ 
             marginRight: 25 
            }} onPress={this.loadCustomerData()}> 
             <Image style={styles.button} source={require('./img/imgCall.png')}/> 
            </TouchableOpacity> 
            <TouchableOpacity style={{ 
             marginRight: 25 
            }} onPress={this._onPressButton}> 
             <Image style={styles.button} source={require('./img/imgCase.png')}/> 
            </TouchableOpacity> 
          </View> 
          <Text style={{ 
           fontSize: 18, 
           color: '#fff', 
           marginLeft: 15, 
           marginTop: 38, 
           marginBottom: 20 
          }}>My Cases</Text> 
         </View> 

        </View> 
        <View> 
         <View> 
          <ColoredFab> 
           <Image pointerEvents="none" source={require('./img/plus_white.png')}/> 
          </ColoredFab> 
         </View> 

    {caseList} 
        </View> 

       </View> 

      ); 
     } 

cevap

3

işlemek, ancak işlevi doğrudan çağırmak, bu nedenle değer olarak işlevinin sonucu vardır. Sen yeterli olacaktır fonksiyonu this.loadListData içinde bunu kullanmıyorum ve ikincisi bir ok da çağrı sarar eğer

<TouchableOpacity onPress={this.loadListData.bind(this)}> 

veya

<TouchableOpacity onPress={() => this.loadListData()}> 

birincisi (bu bağlar yapabilir ya

+0

Thanks.This Worked. :) – kosala

+0

hi.can bana bir daha soru sormak bana şimdi benim view didnt scrolling.i benim view.how altındaki düğmeleri ve metin göremedim bu – kosala

+0

Ben çözebilir ScrollView –